1

我正在构建一个 RESTful API,使用 spring-hateoas 库来实现超媒体。我的端点的响应是 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 作为 Parameter 内容类型?如果没有,有没有办法从请求中隐藏 _links 部分?

4

1 回答 1

1

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

@ApiModelProperty(hidden = true)
public void setLinks(final Link... links) {
    super.add(links);
}
于 2016-08-26T10:26:43.570 回答