Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 实现一种通过重写spring返回头的方法_Java_Spring_Spring Boot_Spring Mvc - Fatal编程技术网

Java 实现一种通过重写spring返回头的方法

Java 实现一种通过重写spring返回头的方法,java,spring,spring-boot,spring-mvc,Java,Spring,Spring Boot,Spring Mvc,我想知道是否有办法创建自己的自定义注释 我想做的是创建一个注释,使用给定的名称和值,将该键放在我的标题上 这是自定义注释原型: @Target({ ElementType.TYPE, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface ResponseHeader { String value() default ""; String name()

我想知道是否有办法创建自己的自定义注释

我想做的是创建一个注释,使用给定的名称和值,将该键放在我的标题上

这是自定义注释原型:

@Target({ ElementType.TYPE, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ResponseHeader {

String value() default "";

String name() default "";
}
这就是我想说的:

public @ResponseHeader(name="Location", format = "/test/id/%s") String test() {
    return UUID.randomUUID();
}
我想做的是使用我的自定义注释,重写spring功能,将标题添加到条目中(Location->/test/id/UUID generated),并使用该标题创建一个响应实体


这可能吗?

我知道我的答案可能不会直接回答您的问题,但为了实现您的目标,您可以:

  • 使用HandlerInterceptorAdapter
  • 使用ResponseEntity作为API响应
  • ResponseEntity.status(HttpStatus.CREATED).header(HttpHeaders.LOCATION, "/test/id/" + randomId).body(...);