我已经为以下方法编写了@Before建议,这些方法属于同一个名为MPIController的类。
TransactionType
是我的自定义注释界面。
方法是:
1.
@RequestMapping(value = "/getPatient", method = { RequestMethod.POST,RequestMethod.PUT }, consumes = "application/json", produces = "application/json")
@TransactionType(value = "FETCH_PATIENT")
public @ResponseBody
FetchPatientResponse fetchPatientDemographics(
@RequestBody String jsonObject, HttpServletResponse response,
HttpServletRequest request, BindingResult error) {
...
}
...
2.
@TransactionType(value = "UPDATE_PATIENT")
private PersistResponse updatePatient(String jsonObject,String patientDemo,
String fromCode) {..}
...
3.
@TransactionType(value = "REGISTER_PATIENT")
private PersistResponse RegisterPatient(String jsonObject,String patientDemo,
String fromCode) {..}
我的建议是这样的。
@Before("execution(* com.rest.controller.MPIController.*(..)) &&args(jsonObject,..) && @annotation(transactionType) ")
public void log(String jsonObject,TransactionType transactionType){..}
对于“fetchPatientDemographics()方法正确调用@Before建议,但是对其余两种方法不起作用。
你能告诉我这里做错了吗?
方法2和3是从同一个类中的其他方法调用的。它们不是直接调用的。可能是个问题吗?