问题
1) 使用 REST 服务时如何处理客户端-服务器应用程序中的错误?有人可以用示例代码帮助我什么是处理下面代码中错误消息的最佳方法。例如,如何在创建服务的情况下捕获客户端和/或服务器端的异常?
2) 如何在错误和成功的情况下将用户转到不同的页面?
客户
$('#btnSignup').click(function(){
var user = {"id": 10, "firstName": $('#firstName').val(), "lastName": $('#lastName').val(), "age": 69, "freeText": "55555", "weight": 55};
$.ajax({
type: "POST",
contentType: "application/json",
url: "http://localhost:8080/test/webresources/entity.user/",
dataType: "json",
data: JSON.stringify(user),
success: function(response) {
$('#myModal').modal('hide');
},
error: function(data) {
alert('addUser error: ');
}
});
});
休息服务
@Stateless
@Path("entity.user")
public class UsersFacadeREST extends AbstractFacade<Users> {
@PersistenceContext(unitName = "testPU")
private EntityManager em;
public UsersFacadeREST() {
super(Users.class);
}
@POST
@Override
@Consumes({"application/xml", "application/json"})
public void create(Users entity) {
super.create(entity);
}
最佳答案
只是我的 2 美分 那么你可以定义一个 Result Object ,你可以在每次 rest 调用后返回它
Class Result{
private String statusCode;
private String statusDescription;
}
在 bean 里
@POST
@Override
@Consumes({"application/xml", "application/json"})
@Produces({ "application/json"})
public Result create(Users entity) {
Result result = new Result();
try{
super.create(entity);
result.setStatus("200");
result.setStatusDescriptions("Success");
}catch(Exception) {
result.setStatus("500");
result.setStatusDescriptions("Fail");
}
return result; // Return this as Json
}
您稍后可以使用 jquery 解析 HTML 中的响应并根据“状态”处理流程
关于java - 如何使用 REST 服务处理客户端-服务器应用程序中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15105968/