我有一個用Jersey框架編寫的REST端點。我想創建一個AspectJ切入點,捕獲任何澤西GET/POST來檢查參數。對於小服務程序很容易:如何使用AspectJ捕獲任何Jersey POST/GET請求?
"call(public java.lang.String javax.servlet.ServletRequest.getParameter(java.lang.String))"
這裏是新澤西州的REST端點的代碼:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.xml.bind.annotation.XmlRootElement;
@Path("/test/{username}")
public class JerseyTest {
@XmlRootElement
public static class BigTest {
public String name;
}
@GET
@Produces("text/plain")
public String getHello(BigTest test, @PathParam("username") String username) {
return "hello " + username;
}
}
此方法有效。對不起,由於缺乏業力,無法贊成。 – sergeSF
我實際上做了一些不同的事情:用調試器遍歷澤西島,發現它使用:HttpServletRequest.getQueryString(),getPath(),getRequestURL()getRequestURI。我已經有了大部分規則,所以添加剩下的很快。 – sergeSF