我是Spring Boot的新手,但经过几个小时的阅读关于Spring Boot REST中的异常handlig的帖子和博客,没有人写任何关于处理从自定义Converter抛出的异常的事情,我决定写这里.
我开发了基于Spring Boot的小型REST应用程序,它只是从IntelliJ生成的.示例性方法看起来像这样
@RestController
@RequestMapping("/resources")
public class CVResourceService {
private final TechnologyRepository technologyRepository;
private final ProjectRepository projectRepository;
@Autowired
public CVResourceService(TechnologyRepository technologyRepository, ProjectRepository projectRepository) {
this.technologyRepository = technologyRepository;
this.projectRepository = projectRepository;
}
@RequestMapping(value = "/users/{guid}/projects/langs/{lang}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public Collection getUserProjects(@PathVariable("guid") GUID userGUID, @PathVariable("lang") Language language) {
return ProjectDTOAssembler.toDTOs(projectRepository.findOne(userGUID, language));
}
}
Run Code Online (Sandbox Code Playgroud)
因为这两个guid
和lang
是字符串,我想这条信息来自同一begining强类型,我创建了简单的转换器GUID
和Language
类型和应用类注册吧:
public final class GUIDConverter implements Converter{
@Override
public GUID convert(String source) {
return …
Run Code Online (Sandbox Code Playgroud)