【问题标题】:Hypermedia links in Swagger UI using Springfox使用 Springfox 的 Swagger UI 中的超媒体链接
【发布时间】:2016-12-06 06:59:11
【问题描述】:

我正在构建一个 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 部分?

【问题讨论】:

    标签: java swagger restful-architecture springfox hypermedia


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 2019-04-15
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      • 2019-06-30
      相关资源
      最近更新 更多