gpt4 book ai didi

spring-boot - 如何在运行时启用/禁用实体关系?

转载 作者:行者123 更新时间:2023-12-04 03:35:54 27 4
gpt4 key购买 nike

我有一个具有基本 CRUD 服务的 Spring Boot 应用程序。对于读取服务,我也想查看它们之间的关系。通过@ManyToOne、@OneToOne 等注释实现关系没有问题,如this。示例。

我的问题是我想根据列表服务中的参数启用此关系,或者我也可以使用另一个端点。我怎样才能做到这一点?欢迎提出任何建议。

  • 参数版本可以是 ->/employe/list?includeRelations=true
  • 端点版本可能是 ->/员工/列表/byRelations

我的实体是这样的;

    @Entity
@Table(name = "employee")
public class Employee{
private long id;
private String name;
private Address address;

// getter setters
}

@Entity
@Table(name = "address")
public class Address {
private long id;
private String name;
private String postalCode;

// getter setters
}

编辑例如

  • 没有 includeRelations=true '/employee/list' 服务应该返回这个;
{
"id": 1,
"name": "Jane"
}
  • includeRelations=true '/employee/list' 服务应该返回这个;
{
"id": 1,
"name": "Jane"
"address": {
"id":1,
"name": "HOME",
"postalCode": "11111"
}
}

最佳答案

它的一些 sudo 代码供您理解。您可以使用 Query Parameter 并且在条件下您可以根据需要调用 repo :对于我的场景,我想要不同的响应 shortmediumlong

@RequestMapping(value = "/getContacts", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, headers = "Accept=application/json")public String getContact(@RequestBody ContactItemRequestInfo contactItemRequestInfo,@RequestParam(required = false) 字符串键,字符串联系){

    if(key.equals("medium"))
{
return Contact="{\"responseCode\":\"02\",\"responseDescription\":\"Success\",\"totalCount\":2,\"contacts\":[{\"id\":114,\"firstName\":\"ali\",\"lastName\":\"kamran\"},{\"id\":115,\"firstName\":\"usman\",\"lastName\":\"khan\",\"middleName\":\"saad\"}]}";

}
else if(key.equals("long"))
{
return Contact="{\"responseCode\":\"03\",\"responseDescription\":\"Success\",\"totalCount\":2,\"contacts\":[{\"id\":114,\"firstName\":\"ali\",\"lastName\":\"kamran\"},{\"id\":115,\"firstName\":\"usman\",\"lastName\":\"khan\",\"middleName\":\"saad\"}]}";

}
else
{
return Contact="{\"responseCode\":\"00\",\"responseDescription\":\"Success\",\"totalCount\":2,\"contacts\":[{\"id\":114,\"firstName\":\"ali\",\"lastName\":\"kamran\"},{\"id\":115,\"firstName\":\"usman\",\"lastName\":\"khan\",\"middleName\":\"saad\"}]}";

}

}对你有帮助!!

关于spring-boot - 如何在运行时启用/禁用实体关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66915464/

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