日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

泽西岛的JSON模式生成

發(fā)布時間:2023/12/3 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 泽西岛的JSON模式生成 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

因此,在上一篇文章中,我討論了一個允許在WADL中使用JSON-Schema的建議,這篇文章探討了如何使它與最近構建的Jersey一起使用。 在1.16發(fā)布之前,您將必須下載/參考1.16SNAPSHOT。

如果您使用的是Maven,那么假設您已經有了jersey和jersey-json,那么更新依賴項應該很簡單。 您只需要添加對“ com.sun.jersey.contribs”組中“ jersey-wadl-json-schema”偽像的依賴關系,即可獲得新功能。

如果您不在Maven之外,最簡單的方法是下載最新的jersey-archive ,然后下載jersey-wadl-json-schema jar。 如何部署這些是特定于工具的,但是,如果您使用的是WLS,則以下是有關如何升級Jersey版本的一些特定說明 。

完成此工作后,需要創(chuàng)建WadlGeneratorConfig類以啟用此新的語法生成:

package jersey;import com.sun.jersey.api.wadl.config.WadlGeneratorConfig; import com.sun.jersey.api.wadl.config.WadlGeneratorDescription; import com.sun.jersey.wadl.generators.json.WadlGeneratorJSONGrammarGenerator;import java.util.List;public class JsonGeneratorConfig extends WadlGeneratorConfig {@Overridepublic Listconfigure() {return generator(WadlGeneratorJSONGrammarGenerator.class).descriptions();} }

然后可以通過多種方式進行注冊,這是使用servlet初始化參數(shù)的示例。 還要注意,為了使這個示例簡單,我們使用Jersey POJO映射; 但是在撰寫此博客時,我注意到該設置會影響WADL的JSON版本的格式,以防您嘗試這樣做。

<?xml version = '1.0' encoding = 'ISO-8859-1'?> <web-app xmlns='http://java.sun.com/xml/ns/javaee' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'xsi:schemaLocation='http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd'version='3.0'><servlet><servlet-name>jersey</servlet-name><servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class><init-param><param-name>com.sun.jersey.config.property.WadlGeneratorConfig</param-name><param-value>jersey.JsonGeneratorConfig</param-value></init-param><init-param><param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>jersey</servlet-name><url-pattern>/resources/*</url-pattern></servlet-mapping> </web-app>

因此,我整理了一個非常簡單的echo服務,只是為了檢查它是否正常工作:

package jersey;import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces;@Path('/echo') public class EchoResource {@GET@Produces('application/json')public EchoBean echo() {EchoBean bean = new EchoBean();bean.setMessage('Hello');return bean;}@POST@Consumes('application/json')@Produces('application/json')public EchoBean echo(EchoBean echo) {return echo;}}andpackage jersey;public class EchoBean {public EchoBean() {super();}private String message;public void setMessage(String message) {this.message = message;}public String getMessage() {return message;}}

這個非常簡單的示例將導致以下帶有引用的JSON-Schema元素的WADL:

<?xml version = '1.0' encoding = 'UTF-8'?> <ns0:application xmlns:ns0='http://wadl.dev.java.net/2009/02'><ns0:doc xmlns:ns1='http://jersey.java.net/' ns1:generatedBy='Jersey: 1.16-SNAPSHOT 11/19/2012 12:59 AM'/><ns0:grammars/><ns0:resources base='http://localhost:7103/Jersey/resources/'><ns0:resource path='/echo'><ns0:method id='echo' name='GET'><ns0:response><ns0:representation mediaType='application/json' xmlns:ns2='http://wadl.dev.java.net/2009/02/json-schema' ns2:describedby='application.wadl/echoBean'/></ns0:response></ns0:method><ns0:method id='echo' name='POST'><ns0:request><ns0:representation mediaType='application/json' xmlns:ns3='http://wadl.dev.java.net/2009/02/json-schema' ns3:describedby='application.wadl/echoBean'/></ns0:request><ns0:response><ns0:representation mediaType='application/json' xmlns:ns4='http://wadl.dev.java.net/2009/02/json-schema' ns4:describedby='application.wadl/echoBean'/></ns0:response></ns0:method></ns0:resource></ns0:resources> </ns0:application>

URI application.wadl / echoBean包含以下簡單的JSON-Schema定義:

{'type' : 'object','properties' : {'message' : {'type' : 'string'}},'name' : 'echoBean' }

現(xiàn)在,當前設計中存在許多限制,尤其是生成的模式不考慮任何符號設置 。 但是我認為這足以引起人們對該功能是否普遍有用的反饋。 在網絡上以及在Oracle內部,人們對JSON-Schema的興趣似乎都在增長,因此,看看這種描述是否變得更加普遍將很有趣。

參考: Gerard Davison博客博客中的JCG合作伙伴 Gerard Davison 在澤西 島上的 JSON-Schema生成 。

翻譯自: https://www.javacodegeeks.com/2012/11/json-schema-generation-in-jersey.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結

以上是生活随笔為你收集整理的泽西岛的JSON模式生成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。