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