Java Spring hateoas如何为单个链接设置关系和数组
有人能告诉我如何使用hateoas获得下面的回复吗Java Spring hateoas如何为单个链接设置关系和数组,java,spring-boot,spring-hateoas,Java,Spring Boot,Spring Hateoas,有人能告诉我如何使用hateoas获得下面的回复吗 { "ticketID" : 345, "links": [ { "rel": "self", "href": "rest/INL_TM/rest/v1/ticket/345" } ] } 但我得到的回应是 { "ticketID" : 345, "links": { "rel": "self", "href": "rest/INL_TM
{
"ticketID" : 345,
"links": [ {
"rel": "self",
"href": "rest/INL_TM/rest/v1/ticket/345"
} ]
}
但我得到的回应是
{
"ticketID" : 345,
"links": {
"rel": "self",
"href": "rest/INL_TM/rest/v1/ticket/345"
}
}
另外,如何将rel设置为自定义值?我想要像rel=“getTicket”这样的东西
Greeting.java
public class Greeting extends ResourceSupport {
private final String content;
@JsonCreator
public Greeting(@JsonProperty("content") String content) {
this.content = content;
}
public String getContent() {
return content;
}
}
GreetingController.java
@Controller
public class GreetingController {
private static final String TEMPLATE = "Hello, %s!";
@RequestMapping("/greeting")
@ResponseBody
public HttpEntity<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Greeting greeting = new Greeting(String.format(TEMPLATE, name));
greeting.add(linkTo(methodOn(GreetingController.class).greeting(name)).withSelfRel());
return new ResponseEntity<Greeting>(greeting, HttpStatus.OK);
}
}
@Controller
public class GreetingController {
@RequestMapping("/greeting")
@ResponseBody
public Resource<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Resource<Greeting> resourceResponse = new Resource<Greeting>("Some String");
resourceResponse.add(linkTo(methodOn(GreetingController.class).greeting("Some String")).withSelfRel());
return resourceResponse;
}
}
@控制器
公共类迎宾控制器{
私有静态最终字符串模板=“您好,%s!”;
@请求映射(“/greeting”)
@应答器
公共HttpEntity问候语(
@RequestParam(value=“name”,required=false,defaultValue=“World”)字符串名){
问候语=新问候语(String.format(模板、名称));
add(linkTo(methodOn(GreetingController.class).greeting(name)).withSelfRel());
返回新的响应(问候语,HttpStatus.OK);
}
}
提前感谢在模型课中扩展资源支持。 返回资源而不是响应 GreetingController.java
@Controller
public class GreetingController {
private static final String TEMPLATE = "Hello, %s!";
@RequestMapping("/greeting")
@ResponseBody
public HttpEntity<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Greeting greeting = new Greeting(String.format(TEMPLATE, name));
greeting.add(linkTo(methodOn(GreetingController.class).greeting(name)).withSelfRel());
return new ResponseEntity<Greeting>(greeting, HttpStatus.OK);
}
}
@Controller
public class GreetingController {
@RequestMapping("/greeting")
@ResponseBody
public Resource<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Resource<Greeting> resourceResponse = new Resource<Greeting>("Some String");
resourceResponse.add(linkTo(methodOn(GreetingController.class).greeting("Some String")).withSelfRel());
return resourceResponse;
}
}
@控制器
公共类迎宾控制器{
@请求映射(“/greeting”)
@应答器
公共资源问候语(
@RequestParam(value=“name”,required=false,defaultValue=“World”)字符串名){
resourceResponse=新资源(“某些字符串”);
add(linkTo(methodOn(GreetingController.class).greeting(“一些字符串”)).withSelfRel());
返回资源响应;
}
}
Maven依赖
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.16.0.RELEASE</version>
</dependency>
org.springframework.hateoas
春风
0.16.0.1版本
在模型类中扩展资源支持。
返回资源而不是响应
GreetingController.java
@Controller
public class GreetingController {
private static final String TEMPLATE = "Hello, %s!";
@RequestMapping("/greeting")
@ResponseBody
public HttpEntity<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Greeting greeting = new Greeting(String.format(TEMPLATE, name));
greeting.add(linkTo(methodOn(GreetingController.class).greeting(name)).withSelfRel());
return new ResponseEntity<Greeting>(greeting, HttpStatus.OK);
}
}
@Controller
public class GreetingController {
@RequestMapping("/greeting")
@ResponseBody
public Resource<Greeting> greeting(
@RequestParam(value = "name", required = false, defaultValue = "World") String name) {
Resource<Greeting> resourceResponse = new Resource<Greeting>("Some String");
resourceResponse.add(linkTo(methodOn(GreetingController.class).greeting("Some String")).withSelfRel());
return resourceResponse;
}
}
@控制器
公共类迎宾控制器{
@请求映射(“/greeting”)
@应答器
公共资源问候语(
@RequestParam(value=“name”,required=false,defaultValue=“World”)字符串名){
resourceResponse=新资源(“某些字符串”);
add(linkTo(methodOn(GreetingController.class).greeting(“一些字符串”)).withSelfRel());
返回资源响应;
}
}
Maven依赖
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.16.0.RELEASE</version>
</dependency>
org.springframework.hateoas
春风
0.16.0.1版本
关于第二个问题。定制Rels。在控制器“with selfrel()”中添加一个链接,如果使用with selfrel(“SomeString”),那么对于第二个问题,rel将是SomeString。定制Rels。在控制器“with selfrel()”中添加一个链接,如果使用withRel(“SomeString”),则rel将是SomeString