简体   繁体   English

Spring Hateoas如何设置关系并为单个链接提供数组

[英]Spring hateoas how to set relationship and have array for single link also

Can someone please let me know how to get below response using hateoas 有人可以让我知道如何使用Hateoas降低反应吗

{
    "ticketID" : 345,
    "links": [ {
        "rel": "self",
        "href": "rest/INL_TM/rest/v1/ticket/345"
    } ]
}

But I am getting response as 但我得到回应

{
    "ticketID" : 345,
    "links":  {
        "rel": "self",
        "href": "rest/INL_TM/rest/v1/ticket/345"
    }
}

Also how do I set rel to custom value? 另外,如何将rel设置为自定义值? I want something like rel = "getTicket" 我想要类似rel =“ getTicket”的东西

Greeting.java 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 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);
    }
}

Thanks in advance 提前致谢

extend ResourceSupport in model class. 在模型类中扩展ResourceSupport。 Return Resource instead of ResponseEntity 返回资源而不是ResponseEntity

GreetingController.java GreetingController.java

@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;
   }
}

Maven dependency Maven依赖

<dependency>
   <groupId>org.springframework.hateoas</groupId>
   <artifactId>spring-hateoas</artifactId>
   <version>0.16.0.RELEASE</version>
</dependency>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM