是否有为 Spring 3 REST 控制器生成 JSON SMD 的解决方案?

Posted

技术标签:

【中文标题】是否有为 Spring 3 REST 控制器生成 JSON SMD 的解决方案?【英文标题】:Is there a solution for generating a JSON SMD for a Spring 3 REST Controller? 【发布时间】:2010-12-01 22:42:25 【问题描述】:

我和一位同事正在建立一个架构,以便使用 REST 和 JSON 快速开发富客户端应用程序。我们的服务器使用 Spring 3 的 MVC 和 REST 特性将 REST 服务公开为 Spring 控制器。对于非标准 REST 调用,我们希望使用服务映射描述符 (SMD) 来公开某些控制器的合约:

http://groups.google.com/group/json-schema/web/service-mapping-description-proposal

SMD 在现场看起来相当新;现在有什么解决方案可以从 Spring 3 REST 控制器生成 SMD JSON 文件吗?

【问题讨论】:

什么是非标准 REST 调用? 我想更多的是 RPC 风格的 url,比如在 URL 中放入动词而不是名词。 【参考方案1】:

你可以定义自己的HttpMessageConverter:

<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
        <list>
            <bean class="my.package.CustomJsonHttpConverter" />
        </list>
    </property>
</bean>

CustomJsonHttpConverter 扩展 AbstractHttpMessageConverter 的地方,就像 MappingJacksonHttpMessageConverter 一样。

【讨论】:

这是标准方法。我很好奇是否有任何现有的实现。对我来说是为开源世界做出贡献的好机会。

以上是关于是否有为 Spring 3 REST 控制器生成 JSON SMD 的解决方案?的主要内容,如果未能解决你的问题,请参考以下文章

从 Spring MVC 控制器自动生成 REST api 文档到 RAML

Spring Data Rest 不能做集成测试?

使用 Spring REST Docs 生成 Swagger 客户端

是否有为 SQL Server 生成完整数据库 DDL 的工具? Postgres 和 MySQL 呢?

是否可以为单个 Spring Rest 端点自定义 ObjectMapper?

Spring Data REST:覆盖控制器上的存储库方法