【发布时间】:2015-01-21 13:26:18
【问题描述】:
在我的 RESTful API 中,所有资源都扩展了 Spring 的 ResourceSupport 基础,以便在设计上确保 hatoas 主体。例如:
public class PoolResource extends ResourceSupport {
private String name;
...
}
我也在使用 Swagger,我想知道:是否可以以某种方式配置 swagger-ui,以忽略来自 ResourceSupport 的属性?
(Swagger-ui 提供了一个漂亮而简单的 API 前端。作为使用 Swagger 的主要好处之一,对于那些甚至不熟悉 REST 的人来说,该 API 易于理解和使用该 API API ...只要“链接”和“rels”出现在图片中。)
【问题讨论】:
-
如果你不想要超媒体,你为什么首先使用 Spring HATEOAS?如果你想要超媒体,为什么要使用 Swagger(它积极颠覆超媒体)?
-
我想要超媒体。在研究了 RESTful 原理之后,我明白了拥有超媒体的好处,所以我真的很想设计一个level 3 API。这就是使用 Spring HATEOAS 的原因。但大多数 API 用户仍然不了解超媒体,根本不明白为什么它很好。对他们来说,swagger 提供了一个非常酷的完整 API 视图。将它呈现给任何人都非常好,即使从我的祖母到高级开发人员也很容易理解。 Swagger“颠覆超媒体”是什么意思?
-
大多数答案建议我不要使用 swagger,glory of REST 将解决我的大部分问题。好吧,让我们想象一下,我扔掉了招摇。这让我想到了这样的问题: - 我有资源
Pool。如果我有一个新安装的系统,没有任何现有的池实例,所以我无法获取池。如何创建(POST)一个池比?游泳池长什么样? - 可选字段呢?验证?需要...等? - “离线”文档呢? -
在这篇博文blog.zenika.com/2013/07/11/… 中提到swagger 和hateoas 是互补的。 Swagger 帮助我们记录我们的 API,但资源仍应公开链接以相互导航。
-
对此有任何启示吗?我在这里遇到了类似的问题stackoverflow.com/questions/38694734/…
标签: rest swagger swagger-ui spring-hateoas