java - 如何在Java中输入def注解

标签 java spring jakarta-ee spring-mvc annotations

我有一组具有非常相似的注释声明的方法,如何缩短它们?不要到处重复它们?

@RequestMapping(value = "/relative_path", 
        method = RequestMethod.GET,
        consumes = "appilcation/json",
        produces = "appilcation/json")
@ResponseBody
public User method1(HttpServletRequest httpServletRequest,
                  @RequestBody String requestBody)
{...}

最佳答案

您可以为此创建一个 spring 元注释:

@RequestMapping(value = "/relative_path", 
    method = RequestMethod.GET,
    consumes = "appilcation/json",
    produces = "appilcation/json")
@ResponseBody
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}

并在您的方法中使用它:

@MyAnnotation
public User method1(HttpServletRequest httpServletRequest,
                  @RequestBody String requestBody) { }

解决方案:

@RequestMapping(method = RequestMethod.POST,
        consumes = "appilcation/json",
        produces = "appilcation/json")
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}

@RequestMapping(value = "/relative_path")
@MyAnnotation
public User method1(HttpServletRequest httpServletRequest,
                  @RequestBody String requestBody) { }

关于java - 如何在Java中输入def注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984415/

相关文章:

spring - Apache Camel 和 Web 服务

java - 如何将ResourceBundle中的所有值读取到Map/InputStream Spring中

java - 用于 Java EE 开发的 Eclipse 插件

java - 使用新参数在循环中创建新线程

java - 屏幕方向更改时 lockCanvas 失败

java - 如何实例化 Kafka Connect Schema 数组

java - EJB lite 是否由容器管理?

java - Vaadin 10 (Flow) 的面板组件

java - Spring @Async 被忽略

java - 在重试网络连接之间暂停