Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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
控制器Spring Hateos上的多请求映射_Spring_Rest_Spring Mvc_Hateoas_Request Mapping - Fatal编程技术网

控制器Spring Hateos上的多请求映射

控制器Spring Hateos上的多请求映射,spring,rest,spring-mvc,hateoas,request-mapping,Spring,Rest,Spring Mvc,Hateoas,Request Mapping,在Spring中,MVC@requestmapping(value={“url1”,“url2”})是允许的,但是SpringHATEOS在创建链接时选择第一个映射。是否存在控制器上的请求映射版本与http请求版本调用匹配的解决方案 假设url1和url2都有不同的版本并放在同一个控制器上。 控制器在内部为另一个控制器创建链接。对于这两个URL,它使用来自控制器的第一个请求映射。但我希望它应该根据url调用。对于url1它应该使用版本1,对于url2它应该使用版本2 第一控制器 我想要的是让为v

在Spring中,MVC
@requestmapping(value={“url1”,“url2”})
是允许的,但是Spring
HATEOS
在创建链接时选择第一个映射。是否存在控制器上的请求映射版本与http请求版本调用匹配的解决方案

假设
url1
url2
都有不同的版本并放在同一个控制器上。 控制器在内部为另一个控制器创建链接。对于这两个URL,它使用来自控制器的第一个请求映射。但我希望它应该根据url调用。对于
url1
它应该使用版本1,对于
url2
它应该使用版本2

第一控制器
我想要的是让为v2创建的链接应该包含v2而不是v1?

org.springframework.hateoas.mvc.ControllerLinkBuilder类提供了一组方法,您可以使用这些方法来构建类似的链接

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;

resource.add(linkTo(AuthorController.class).slash(author.getAuthorId()).slash("books").withRel("vaquar"));

// or by pointing directly to a controller method
resource.add(linkTo(methodOn(UserController.class).getUsers(author.getUserId())).withRel("vaquar"));
你可以阅读


工作示例:

org.springframework.hateoas.mvc.ControllerLinkBuilder类具有一组方法,您可以使用这些方法构建链接,如

import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;

resource.add(linkTo(AuthorController.class).slash(author.getAuthorId()).slash("books").withRel("vaquar"));

// or by pointing directly to a controller method
resource.add(linkTo(methodOn(UserController.class).getUsers(author.getUserId())).withRel("vaquar"));
你可以阅读


工作示例:

请阅读-总结是,这不是向志愿者致辞的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。您可以添加代码和示例吗?您的问题非常混乱。@vaquarkhan添加了示例代码。LMK,如果需要任何其他信息。请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要将此添加到您的问题中。您可以添加代码和示例吗?您的问题非常混乱。@vaquarkhan添加了示例代码。LMK,如果需要任何其他信息。
 class ResponseType{
       public Response Type(String argument1, String argument2){
        this.add(inkTo(methodOn(MyFirstController.class).method1(argument1, 
         null).withRel("link1"));
          }
   }
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.methodOn;

resource.add(linkTo(AuthorController.class).slash(author.getAuthorId()).slash("books").withRel("vaquar"));

// or by pointing directly to a controller method
resource.add(linkTo(methodOn(UserController.class).getUsers(author.getUserId())).withRel("vaquar"));