gpt4 book ai didi

java - @jsonRootName 不适用于 spring boot starter hateoas

转载 作者:行者123 更新时间:2023-11-30 08:54:27 24 4
gpt4 key购买 nike

我正在使用 spring-boot 和 spring-Hateoas 开发一个休息应用程序。我写的 DTO 是:

比尔.java

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonRootName("bills")
public class Bill{

依赖项:

dependencies {
compile "org.springframework.boot:spring-boot-starter-hateoas"
compile "org.springframework.boot:spring-boot-starter-ws"
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.springframework.cloud:spring-cloud-starter-eureka:${springCloudVersion}"

testCompile("org.springframework.boot:spring-boot-starter-test")
}

应用程序.java:

@Configuration
@Import(BillServiceConfig.class)
@EnableAutoConfiguration
@EnableEurekaClient
@ComponentScan({"com.billing"})
@EnableWebMvc
@EnableHypermediaSupport(type = EnableHypermediaSupport.HypermediaType.HAL)
public class Application {

BillController.java:

 @RequestMapping(method = RequestMethod.GET, value = "")
public ResponseEntity<Resources<Resource<Bill>>> getBills(@PathVariable String billUid)

而我使用的spring-boot版本是1.2.2。我得到的输出是

`_embedded: {
BillList:
{`

这里的json根名称是BillList。但我需要它作为“账单”而不是“BillList”。任何人都可以帮助解决这个问题。提前致谢。

最佳答案

_embedded 子句中的键实际上是关系名称。因此,它们是通过 Spring HATEOAS 中的 RelProvider 抽象获得的。自定义它们的最简单方法是使用 @Relation 注释域类型并定义您期望的项目和集合关系的关系名称。

_embedded 子句中使用正确的复数形式的一种简单方法是将 Evo Inflector JAR 添加到类路径中,如文档中所述 here .

关于java - @jsonRootName 不适用于 spring boot starter hateoas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com