mysql - 我无法使用 JAX-RS 处理异常
问题描述
这是 NullPointerExceptionMapper 类
package com.sample.Exceptionhandler;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import response.Message;
@Provider
public class NullPointerExceptionMapper implements ExceptionMapper<NullPointerException> {
public Response toResponse(NullPointerException ex) {
Message message=new Message(500,ex.getMessage(),200);
return Response.status(Status.NOT_FOUND).entity(message)
.build();
}
}
这是消息类
package response;
public class Message {
private int status;
private String message;
private int code;
public Message() {
}
public Message(int status, String message, int code) {
super();
this.status = status;
this.message = message;
this.code = code;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
这是控制器方法
@RequestMapping(value = "/getOrder", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public List<PurchaseOrderHeaderDto> getOrders(){
String exceptionOccured="NULL_POINTER";
if(exceptionOccured.equalsIgnoreCase("NULL_POINTER")){
throw new NullPointerException("Null Pointer Exception");
}
return purchaseImpl.GetPurchaseOrder();
}
我无法处理抛出的异常,我正在使用 JAX-RS 来处理它,但它无法正常工作,欢迎提出任何有助于我解决这个问题的建议。
解决方案
您正在将 JAX-RS 与 Spring MVC 混合使用。您的控制器代码是 Spring MVC,您尝试使用ExceptionMapper
JAX-RS 处理异常。这是两个完全不同且不兼容的框架。对于 Spring MVC,你想使用一个@ControllerAdvice
类。
推荐阅读
- geometry - 如何找到曲线的最陡点或曲率的弧?
- python-2.7 - TensorFlow 二进制文件未编译
- javascript - React Native 边框半径渲染
- c# - 如何使用 ndjson 模式创建 json 文件?
- python - Python3函数定义,箭头和冒号
- spring - 创建名为“loginServer”的 bean 时出错:无法自省 bean 类
- javascript - React 异步渲染时间切片和悬念
- javascript - 如何使用 python (bs4) 读取特定的 html 行
- graphql - 通过相对路径访问文件的 GraphQL 语法
- python-3.x - 为什么这个递归 Python 函数将反转的对象作为列表返回?