在我的RESTful API中,所有资源都在扩展Spring的ResourceSupport基础,以便通过设计确保hateoas主体。例如:
public class PoolResource extends ResourceSupport {
private String name;
...
}
我也使用Swagger,我想知道:是否有可能以某种方式配置swagger-ui,忽略来自ResourceSupport的属性?
(Swagger-ui提供了一个很好且简单的API前端。作为使用Swagger的主要好处之一,API易于理解并为那些甚至不熟悉REST的人使用API API ...只要"链接"和#34; rels"进入图片。)
答案 0 :(得分:8)
我建议扔掉招摇,并使用像Postman这样的restclient。 Postman使spring-hateoas提供的链接可以点击,因此您可以很快地浏览API。如果要提供一些其他信息/文档,可以将这些请求保存到Postman中的请求集合中并将其导出以进行分发。 在我为rest apis尝试了几个文档工具之后,包括raml,swagger,apiary以及最后的postman-collections与hateaos的组合,我发现后者是我最满意的。
答案 1 :(得分:1)
使用Spring Data REST 2.4.0.RELEASE,您现在可以使用多种形式的元数据:
答案 2 :(得分:0)
隐藏它的唯一合理方法是将其隐藏在模型本身之外(有几种方法可以做到这一点,但如果使用Spring MVC,我不确定swagger-springmvc支持什么)。
理论上你可以破解swagger.js来隐藏它,但那是一次冒险。
答案 3 :(得分:0)
Spring RestDocs是在考虑到hyermedia的情况下构建的。它可以提供与“生成的文档”中的招摇相同的好处。领域,但不是基于URL。
努力输出更符合githubs文档的内容(Hyermedia' d)。
答案 4 :(得分:0)
任何人都看过HAL Browser
http://api.opensupporter.org/hb2/browser.html#/api/v1
它有助于可视化资源之间的关系网,因此不一定显示资源的请求示例,但确实有显示文档的区域。
我的想法是,在某种程度上,让Hateos实现自我记录是一种更简单的方法。也许其中一个超媒体链接可能是一个昂首阔步的网站或 可接受的值可以在我上面提到的文档中。
答案 5 :(得分:0)
请勿扩展ResourceSupport
。相反,对于输入模型,请使用POJO Pool
;对于响应模型,请使用org.springframework.hateoas.Resource(s)<Pool>
,它包装了您的POJO并允许定义链接。