Аспект @annotation(PutMapping) не работает

У меня есть следующий код в моем классе аспекта.

    @Pointcut("execution(* com.api.webservice.controller.*.*(..)) " +
            "&& (@annotation(org.springframework.web.bind.annotation.PostMapping) || @annotation(org.springframework.web.bind.annotation.PutMapping) || @annotation(org.springframework.web.bind.annotation.DeleteMapping))")
    public void pointCut() {}

    @Around("pointCut()")
    public Object handleMethod(ProceedingJoinPoint pjp) throws Throwable {
         ......
    }

"PostMapping" а также "DeleteMapping" оба работали, как и ожидалось (handleMethod() был нажат). Но "PutMapping" Кажется, не работает, потому что handleMethod () не был активирован, когда я отправил спокойный вызов Put через своего почтальона. Мой метод прототип

    @PostMapping
    @ResponseStatus(value = HttpStatus.CREATED)
    public Entity create(@Valid @RequestBody Entity entity) {
        ...
    }

    @PutMapping("/{id}")
    public Entity update(@PathVariable String id, @Valid @RequestBody Entity entity) {
        ...
    }

    @DeleteMapping("/{id}")
    @ResponseStatus(value = HttpStatus.NO_CONTENT)
    public void deleteEntityById(@PathVariable String id) {
        ...
    }

Есть идеи?

0 ответов

Другие вопросы по тегам