Tag: hateoas

spring rest data序列化为一个关联作为相关实体

如何配置Spring Data Rest 直接序列化相关实体? 我希望它看起来像这样:注意“所有者”链接是指“帐户”实体。 { “name” : “customer”, “_links” : { “self” : { “href” : “http://localhost:8081/api/v1/servers/1005” }, “owner” : { “href” : “http://localhost:8081/api/v1/account/100” } } } 当前(默认)具有间接序列化的相关实体(aka,association)。 我不希望它看起来像这样: “所有者”链接是通过自助服务器实体。 { “name” : “customer”, “_links” : { “self” : { “href” : “http://localhost:8081/api/v1/servers/1005” }, “owner” : { “href” : “http://localhost:8081/api/v1/servers/1005/owner” } } } 我检查了文档,但没有找到任何提及“直接”路线。

Spring HATEOAS Resource Assembler和Resource Links包含许多变量

我正在使用Spring HATEOAS和Spring堆栈来处理REST API,并且我在链接到资源方面遇到了一些问题。 这是我的代码: 控制者: @RestController @RequestMapping(“/apporteurs/{idInt}/ribs”) public class RibController { @Autowired private RibResourceAssembler ribResourceAssembler; @Autowired private RibRepository ribRepository; /** * Methode GET permettant d’obtenir un Rib par son ID * * @param idRib ID du Rib * @return RibResource */ @RequestMapping(value = “/{idRib}”, method = RequestMethod.GET) @ResponseBody public RibResource getRibById(@PathVariable Long idInt, @PathVariable Long […]

消耗Spring Hateoas Pageable

我有一个使用HAteoas的Rest-Service,以前没有分页的工作。 现在我正在制作可分页的Json。 我用Spring-Hateoas的开箱即用function做到了这一点。 但现在我正在坚持消耗它,我想它确实没有很好的记录,如果是的话。 我的JSON如下所示: { “_embedded”: { “vertragResourceList”: [ { “identifier”: 728, “auszubildender”: “Rumm”, “beruf”: “Landwirt/in”, “betrieb”: “Mitterbauer Johann”, “betriebsNummer”: “e12d0949-67ae-4134-9dc2-fb67758b6b16”, “zustaendigeStelle”: “Irgendwo”, “beginn”: 529887600000, “status”: “RECENT”, “fachrichtung”: null, “schwerpunkt”: “Grünland oder Ackergras”, “ende”: 623113200000, “_links”: { “self”: { “href”: “http://localhost:8080/bbsng-app-rest/vertrag/728” } } }, { “identifier”: 803, “auszubildender”: “Gossen”, “beruf”: “Landwirt/in”, “betrieb”: “Beer Johann”, […]

Spring Data REST如何在线添加嵌入式资源

我正在将Spring Data REST和Hateoas与HAL浏览器结合使用。 这非常有效,但是现在我想用一组特定实体对其关联对象进行JSON转储。 我使用@Projection然后再次卡住了。 仅供参考:正常行为(包含嵌入式和链接等)应保留在新端点(没有嵌入式和链接)之外。 为了进一步说明我的问题/问题: class Person { String name; List companies; } class Company { String name; Address address; } class Address { String street; } 现在我想看到这样的事情: { “name”: “John”, “companies”: [ { “name”: “Stackoverflow”, “address”: {“street”: “Highway blvd.”} }, { “name”: “Oracle”, “address”: {“street”: “Main rd.”} } ] } 虽然我得到了这个: { […]

返回json意外,将“链接”拼写为“_links”并且结构不同,在Spring hateoas中

正如标题所说,我有一个资源对象Product扩展ResourceSupport 。 但是,我收到的回复有“_links”而不是“links”属性,并且具有不同的结构。 { “productId” : 1, “name” : “2”, “_links” : { “self” : { “href” : “http://localhost:8080/products/1” } } } 基于HATEOAS参考 ,预期是: { “productId” : 1, “name” : “2”, “links” : [ { “rel” : “self” “href” : “http://localhost:8080/products/1” } ] } 这是为了这个吗? 有没有办法改变它,或者如果不是结构那么就是“链接”? 我通过以下代码段添加了selfLink: product.add(linkTo(ProductController.class).slash(product.getProductId()).withSelfRel()); 我使用以下构建文件的spring boot: dependencies { compile (“org.springframework.boot:spring-boot-starter-data-rest”) { […]

具有Retrofit 2的多个转换器

我有一个HATEOAS(HAL) REST服务并设法使用下面的代码与它交谈(使用halarious作为转换引擎)但是当我尝试合并转换器 ( stallone和stallone2 )时,应用程序将始终拿起第一个转换器而不是适合于响应类型的那个,当然会导致错误。 我怎样才能避免仅在小型细节中有所不同的重复改装? public interface Stallone { @GET(“/discovery”) Call discover(); @POST() Call login(@Url String url, @Body LoginRequest secret); } public static void main(String… args) throws IOException { // Initialize a converter for each supported (return) type final Stallone stallone = new Retrofit.Builder() .baseUrl(BASE) .addConverterFactory(HALConverterFactory.create(DiscoveryResponse.class)) .build().create(Stallone.class); final Stallone stallone2 = new Retrofit.Builder() .baseUrl(BASE) […]