使用Spring@AliasFor注解自定义注解合并@Controller和@RequestMapping
使用Spring@AliasFor注解自定义注解合并@Controller和@RequestMapping如果只需要代码可以直接根据目录进行获取知识点魔法本源先附上官方文档然后开始扒,作为一代初级程序员恐怖如斯…码来码自定义注解package com.ruoyi.common.annotation;import org.springframework.core.annotation.AliasFo
·
使用Spring@AliasFor注解自定义注解合并@Controller和@RequestMapping
如果只需要代码可以直接根据目录进行获取
知识点
然后开始扒,作为一代初级程序员恐怖如斯…码来
码
-
自定义注解
package com.ruoyi.common.annotation; import org.springframework.core.annotation.AliasFor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 合并@Controller和@RequestMapping * * @author 405 */ @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Controller @RequestMapping @Documented public @interface ControllerMapping { /** * Alias for {@link Controller#value}. */ @AliasFor(annotation = Controller.class, value = "value") String controllerValue() default ""; /** * Alias for {@link RequestMapping#name}. */ @AliasFor(annotation = RequestMapping.class) String name() default ""; /** * Alias for {@link RequestMapping#value}. */ @AliasFor(annotation = RequestMapping.class, value = "value") String[] requestMappingValue() default {}; /** * Alias for {@link RequestMapping#path}. */ @AliasFor(annotation = RequestMapping.class) String[] path() default {}; /** * Alias for {@link RequestMapping#method}. */ @AliasFor(annotation = RequestMapping.class) RequestMethod[] method() default {}; /** * Alias for {@link RequestMapping#params}. */ @AliasFor(annotation = RequestMapping.class) String[] params() default {}; /** * Alias for {@link RequestMapping#headers}. */ @AliasFor(annotation = RequestMapping.class) String[] headers() default {}; /** * Alias for {@link RequestMapping#consumes}. */ @AliasFor(annotation = RequestMapping.class) String[] consumes() default {}; /** * Alias for {@link RequestMapping#produces}. */ @AliasFor(annotation = RequestMapping.class) String[] produces() default {}; }
-
测试代码
@ControllerMapping(requestMappingValue = "/test") public class TestAnnotationController { @GetMapping @ResponseBody public String treeData() { return "Hello-World"; } }
-
结果
C:\Users\Admin>curl -X GET 127.0.0.1/test Hello-World
同理可以合并@Autowired和@Qualifier
更多推荐
所有评论(0)