Java HttpServlet:提取输入请求json和输出响应json
我有一个通过http公开的RESTFul服务。它需要POST请求的Json输入。请指导我如何从Java HttpServlet:提取输入请求json和输出响应json,java,spring-mvc,servlets,interceptor,Java,Spring Mvc,Servlets,Interceptor,我有一个通过http公开的RESTFul服务。它需要POST请求的Json输入。请指导我如何从HttpServletRequest和HttpServletResponse对象中提取Json输入。这个问题很复杂,因为我正在使用spring的HandlerInterceptorAdapter,我无法访问输入参数和那里的输出 我的拦截代码如下: import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSer
HttpServletRequest
和HttpServletResponse
对象中提取Json输入。这个问题很复杂,因为我正在使用spring的HandlerInterceptorAdapter
,我无法访问输入参数和那里的输出
我的拦截代码如下:
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class MyInterceptor extends HandlerInterceptorAdapter {
static final Logger logger = LoggerFactory.getLogger(RequestResponseInterceptor.class);
//before the actual handler will be executed
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
throws Exception {
logRequestPayload(request);
return true;
}
private void logRequestPayload(HttpServletRequest request) {
JSONObject requestObj = new JSONObject(request.getParameterMap());
logger.debug("request:" + requestObj);
}
//after the handler is executed
public void postHandle(
HttpServletRequest request, HttpServletResponse response,
Object handler, ModelAndView modelAndView)
throws Exception {
logResponsePayload(response);
}
private void logResponsePayload(HttpServletResponse response) {
JSONObject responseObj = extractJsonFromResponse(response);
logger.debug("response:" + response);
}
private JSONObject extractJsonFromResponse(HttpServletResponse response) {
return new JSONObject();
}
}
谢谢您可能想使用HandlerMethodArgumentResolver,这里有一个很好的例子@