2016-10-17 99 views
3

我在使用Swagger發佈GREG時遇到了一些問題。我想知道是否有任何方法可以讓GREG識別JSON模式,因爲我看到它只識別XML模式,最終迫使我使用WADL。WSO2治理註冊表Json Schema

+0

我有2個文件。一個swagger文件,另一個是json模式。 我的swagger文件使用我的json模式作爲對象模型。 我知道如果我在Greg中導入一個swagger文件,它可以正常工作。 但是,如果我需要導入依賴json模式文件的swagger文件, Greg不會工作,因爲它只識別swagger文件而不識別json文件。 用wsdl我可以做得很好。我可以用一個xsd文件導入一個wsdl e Greg可以識別這兩個文件。 我該如何與swagger和Greg做到這一點? –

回答

4

我推測你使用的是沒有Swagger支持的G-Reg 4系列。但是,在G-Reg 5系列中,WSO2已啓用此功能,您可以找到最新版本,即G-Reg 5.3.0 from here.除此之外,新的G-Reg爲您提供了一些更加非常有用的功能來增強SOA治理功能。

Adding a SOAP service using a Swagger

Adding the Swagger file

爲了使您必須創建一個處理JSON模式。請參考下面的格雷格(碳註冊表)提供樣品介質類型處理器

WSDLMediaTypeHandler.java

SwaggerMediaTypeHandler.java

WADLMediaTypeHandler.java

請找this useful article將教你如何創建一個簡單的處理程序。

+0

我有2個文件。一個swagger文件,另一個是json模式。 我的swagger文件使用我的json模式作爲對象模型。 我知道如果我在Greg中導入一個swagger文件,它可以正常工作。 但是,如果我需要導入依賴json模式文件的swagger文件, Greg不會工作,因爲它只識別swagger文件而不識別json文件。 用wsdl我可以做得很好。我可以用一個xsd文件導入一個wsdl e Greg可以識別這兩個文件。 我該如何與swagger和Greg做到這一點? –

+0

更新了答案。請檢查 – tkr

0

在以下文檔中,您可以在WSO2治理註冊表中找到有關爲swagger提供的支持的信息。

[1] - https://docs.wso2.com/display/Governance530/Adding+a+REST+Service#AddingaRESTService-AddingaSOAPserviceusingaSwagger

[2] - https://docs.wso2.com/display/Governance530/Invoking+a+REST+Service+Using+the+In-built+Swagger+UI#InvokingaRESTServiceUsingtheIn-builtSwaggerUI-AddingtheSwaggerfile

注:如@thusharaK的回答中提到,這些功能都在該產品的最新版本。

+0

我有2個文件。一個swagger文件,另一個是json模式。 我的swagger文件使用我的json模式作爲對象模型。 我知道如果我在Greg中導入一個swagger文件,它可以正常工作。 但是,如果我需要導入依賴json模式文件的swagger文件, Greg不會工作,因爲它只識別swagger文件而不識別json文件。 用wsdl我可以做得很好。我可以用一個xsd文件導入一個wsdl e Greg可以識別這兩個文件。 我該如何與swagger和Greg做到這一點? –

+0

目前,WSO2 Governance Registry不支持導入JSON模式。您需要修改['SwaggerMediaTypeHandler'](https://github.com/wso2/carbon-registry/blob/7a7ef5b9998bd46f5be3fd2684951991bfc51386/components/registry/org.wso2.carbon.registry.extensions/src/main/java/org /wso2/carbon/registry/extensions/handlers/SwaggerMediaTypeHandler.java)以完成此任務。 – madawa