只是几次我接近其余的服务,我想问一个简单的问题......至少我希望它很简单!用休息CXF处理异常
我有这样的服务:
@Override
public UserTO register(UserTO userTO) {
UserTO user=null;
try{
user=presentationService.register(userTO);
}
catch(ConstraintViolationException ex)
{
throw new CustomException(ex.getMessage());
}
return user;
}
而且我这个客户:
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String processRegistration(@ModelAttribute("userForm")UserTO user, Map<String, Object> model) {
UserTO userTO=null;
String error="";
Response resp;
userTO=registerme(client, user);
}
这是个例外:
public class CustomException extends WebApplicationException {
public CustomException(String message) {
super(Response.status(Response.Status.BAD_REQUEST)
.entity(message).type(MediaType.TEXT_PLAIN).build());
}
}
我想知道如何管理客户端的异常...
为xample当我把这种服务,并获取和错误,从后端我:
2015-06-20 18:44:28 WARN SqlExceptionHelper:143 - SQL Error: 1062, SQLState: 23000
2015-06-20 18:44:28 ERROR SqlExceptionHelper:144 - Duplicate entry 'aa' for key 'login_UNIQUE'
2015-06-20 18:44:28 INFO LoggingOutInterceptor:233 - Outbound Message
---------------------------
ID: 1
Response-Code: 400
Content-Type: text/plain
Headers: {Content-Type=[text/plain], Date=[Sat, 20 Jun 2015 16:44:28 GMT]}
Payload: Nn funziona! Duplicate entry 'aa' for key 'login_UNIQUE'; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Duplicate entry 'aa' for key 'login_UNIQUE'
,以及在客户我:
[INFO] Starting scanner at interval of 3 seconds.
[ERROR] /DisConnectionView/register
javax.ws.rs.WebApplicationException
然后 拒绝连接。
我知道这是一个小白的问题,但有一点帮助将是巨大的..
也许我可以换,我可以通过该服务返回的响应元素中的例外,但如果我想返回简单的UserTO,是否有另一种方式来管理异常并获取客户端的类型或消息?
谢谢!
这不是一个noob问题,而是非常有趣。 +1 – Xstian