Java 使用Springfox在Swagger UI中创建超媒体链接

Java 使用Springfox在Swagger UI中创建超媒体链接,java,swagger,restful-architecture,springfox,hypermedia,Java,Swagger,Restful Architecture,Springfox,Hypermedia,我正在构建一个RESTful API,使用SpringHateoas库来实现超媒体。我的端点的响应是application/hal+json(我的DTO扩展了ResourceSupport) 我正在使用Swagger来记录端点,并使用Springfox自动生成Swagger ui 问题是,生成的文档不正确 作为对POST端点的请求,UI正在将DTO中的_links部分设置为有效负载的一部分,因此我认为我应该将其作为POST端点的参数发送: { "category": "string",

我正在构建一个RESTful API,使用SpringHateoas库来实现超媒体。我的端点的响应是application/hal+json(我的DTO扩展了ResourceSupport)

我正在使用Swagger来记录端点,并使用Springfox自动生成Swagger ui

问题是,生成的文档不正确

作为对POST端点的请求,UI正在将DTO中的_links部分设置为有效负载的一部分,因此我认为我应该将其作为POST端点的参数发送:

{
  "category": "string",
  "creator": "string",
  "description": "string",
  "id": 0,
  "links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "period": 0,
  "recipient": 0,
  "title": "string",
  "type": 0
}

所以我的问题是:有没有办法让springfox知道application/hal+json是参数内容类型?如果没有,是否有任何方法可以对请求隐藏_links部分

因此,我发现隐藏links部分的唯一方法是覆盖DTO extensing ResourceSupport中的setLinks方法,并将hidden设置为true,如下所示:

@ApiModelProperty(hidden = true)
public void setLinks(final Link... links) {
    super.add(links);
}