Rest 当链接实体为空时,Spring HATEOAS设置href null

Rest 当链接实体为空时,Spring HATEOAS设置href null,rest,spring-hateoas,Rest,Spring Hateoas,我正在设计一个RESTAPI,为了尽可能实现Restful,我想在json响应中实现HATEOAS 如果数据库中不存在链接实体,例如,每个用户都有一个passport实体,但如果有人没有,则我希望发送一组rel和href链接,如下所示: { "links": [ { "rel": "drivingLicence", "href": "http://localhost:9090/api/v1/drivingLicence/6" }, { "rel": "passport", "hr

我正在设计一个RESTAPI,为了尽可能实现Restful,我想在json响应中实现HATEOAS

如果数据库中不存在链接实体,例如,每个用户都有一个passport实体,但如果有人没有,则我希望发送一组rel和href链接,如下所示:

{
"links": [
{
  "rel": "drivingLicence",
  "href": "http://localhost:9090/api/v1/drivingLicence/6"
},
{
  "rel": "passport",
  "href": null
},
{
  "rel": "self",
  "href": "http://localhost:9090/api/v1/user/4028818347818fd80147819111d60001"
}
 ],
  "userId": "4028818347818fd80147819111d60001",
  "userName": "username",
  "fullName": "Some User",
  "activeFlag": "ACTIVE",
  "createTimestamp": 1406628074000,
  "updateTimestamp": 1505697126548
}

有没有办法使用Spring HATEOAS或手动实现这一点?我必须检查href是否为null,然后将href设置为null。

内置链接类无法做到这一点,因为它不允许href为null或空(在构造函数中检查)。也许您可以从Link派生并传入非空href,但可以覆盖getHref以返回null

FWIW:我从未见过href为null的策略。我已经看到了链接,如果它返回404,那就意味着它不存在&只是没有链接。作为一个超媒体客户端,我会非常惊讶地看到href为null……但这是一个新的领域,新的实践一直在发生