[英]How to handle exception between spring REST web services
我有两个基于Spring引导的Web服务,REST和MVC。 第一个服务(DesignService)项目调用第二个服务(UserService)项目,将电子邮件作为参数传递,并取回用户对象(User.java)。 如果找不到用户该怎么办。
DesignService项目
repository.java
@Autowired
RestTemplate restTemplate;
getUser(String email){
restTemplate.postForObject("url for User service",email,User.class); //calls User service for Object[1]
}
用户服务
UserController.java
@RequestMapping()
public ResponseEntity<User> getUser(@RequestBody String email){
User user = repository.getUser(email); //return a user object from DB
return new ResponseEntity<User>(user);[2]
}
仓库.java
public User getUser(String email){
//query db for user
return user; //what to return if no user is found [3]
}
*如果我在直接输入某些语法上错误,请原谅。
返回null,或者如果您使用的是Java 8,则返回空的Optional
如果未找到用户,则返回状态为404(NOT_FOUND)的空响应,即
新的ResponseEntity(HttpStatus.NOT_FOUND);
最后,为什么要发布到仅返回资源的端点? 您应该正在执行GET,从外观上看,您的请求映射应仅支持GET(方法= RequestMethod.GET)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.