0
我有一個使用Spring的REST API。我創建了一個攔截器:如何處理JSON並在Spring Interceptor中修改請求?
@Component
public class CSRFInterceptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// code here
return true;
}
}
是使用JSON的每個請求具有以下相應的Java類:
public class CSRFTokenContainer<T> {
private T data;
private String csrf;
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public String getCsrf() {
return csrf;
}
public void setCsrf(String csrf) {
this.csrf = csrf;
}
}
在我的控制器的所有作品,以及使用例如:
@Controller
@RequestMapping("/persons")
public class PersonController {
@RequestMapping(method=RequestMethod.POST)
public @ResponseBody String create(@RequestBody CSRFTokenContainer<Person> account, HttpServletResponse response) {
// do something
return "test";
}
}
現在我想要做以下事情:控制器應該只接收沒有CSRF令牌的Person對象。 CSRF令牌應該在攔截器內進行處理。我怎樣才能做到這一點?我認爲主要的問題是,我不知道如何讓我的CSRFTokenContainer對象在Interceptor中。之後,我想修改請求以僅包含「數據」部分。
一些代碼示例會很好。
謝謝!
請接受一些你以前的問題 – 2012-07-05 15:11:37
@ Sean Patrick Floyd:完成 – 2012-07-05 16:48:00