我正在使用HttpRequestHandler将Spring bean注入Servlets:
@Component("myServlet")
public class MyServlet implements HttpRequestHandler {
@Autowired
private MyService myService;
HttpServlet为不同的请求方法提供了单独的方法doGet,doPost等。 但是HttpRequestHandler只有一个:
public void handleRequest (HttpServletRequest req, HttpServletResponse resp)
那么如何分别处理此方法中的GET和POST请求?我需要为不同的请求方法使用不同的逻辑。
更新 另外我有一个问题:是否有可能限制handleRequest方法通过配置仅支持POST请求,并自动发送HTTP错误405以用于其他请求?
答案 0 :(得分:4)
HttpServletRequest provides the method getMethod()
返回发出此请求的HTTP方法的名称,例如GET,POST或PUT。与CGI变量REQUEST_METHOD的值相同。
答案 1 :(得分:3)
public void handleRequest (HttpServletRequest req, HttpServletResponse resp)
{
if(req.getMethod().equalsIgnoreCase("GET")){
//GET BODY
}
else if(req.getMethod().equalsIgnoreCase("POST")){
//POST BODY
}
}