Hi

On Tue, Sep 20, 2016 at 4:18 PM, Maheeka Jayasuriya <mahe...@wso2.com>
wrote:

>
> Please note these changes were done based on the level of information we
> have on the API by referring to it's configuration. For example, we do not
> have a way of determining the request format or uri parameter types and
> content-types of the API. This will require further digging and analyzing
> on the configuration.
>

Have you consider adding additional information as annotations/notes in the
config. AFAIK we do not have a config to add annotations so currently we
can define them as properties but going forward may be we can add some way
to annotate synapse.

In the longer run mostly synapse APIs will be generated out of swagger
definitions thus having the ability to contain all the API definition
information in the synapse file would be important.

Thanks
Jo


>
> Find the diff of these changes done to the Swagger definition at [4]
>
> To get the required information from the Rest API configuration we can
> invoke RestApiAdminServices's getApiByName operation which returns the
> following response [5] for an API created that has the PetStore resources.
> We can identify the methods and uri-template and mappings from this
> response.
>
> Please let know your thoughts.
>
> Thanks,
> Maheeka
>
> [1] http://petstore.swagger.io/#/pet
> [2] https://gist.github.com/maheeka/4eaedd2e2e0765959a4166865bf9adf9
> [3] https://gist.github.com/maheeka/ec23751f21d8d7d5abaa4f9130f233f2
> [4] https://www.diffchecker.com/xEu0NSNz
> [5] <soapenv:Envelope xmlns:soapenv="http://schemas.
> xmlsoap.org/soap/envelope/">
>    <soapenv:Body>
>       <ns:getApiByNameResponse xmlns:ns="http://org.apache.axis2/xsd";>
>          <ns:return xsi:type="ax2476:APIData" xmlns:ax2476="
> http://api.rest.carbon.wso2.org/xsd"; xmlns:xsi="http://www.w3.org/
> 2001/XMLSchema-instance">
>             <ax2476:artifactContainerName xsi:nil="true"/>
>             <ax2476:context>/pet</ax2476:context>
>             <ax2476:fileName>PetstoreAPI.xml</ax2476:fileName>
>             <ax2476:host xsi:nil="true"/>
>             <ax2476:isEdited>false</ax2476:isEdited>
>             <ax2476:name>PetstoreAPI</ax2476:name>
>             <ax2476:port>-1</ax2476:port>
>             <ax2476:resources xsi:type="ax2476:ResourceData">
>                <ax2476:contentType xsi:nil="true"/>
>                <ax2476:faultSeqXml xsi:nil="true"/>
>                <ax2476:faultSequenceKey xsi:nil="true"/>
>                <ax2476:inSeqXml xsi:nil="true"/>
>                <ax2476:inSequenceKey xsi:nil="true"/>
>                <ax2476:methods>POST</ax2476:methods>
>                <ax2476:methods>PUT</ax2476:methods>
>                <ax2476:outSeqXml xsi:nil="true"/>
>                <ax2476:outSequenceKey xsi:nil="true"/>
>                <ax2476:protocol>0</ax2476:protocol>
>                <ax2476:uriTemplate xsi:nil="true"/>
>                <ax2476:urlMapping>/</ax2476:urlMapping>
>                <ax2476:userAgent xsi:nil="true"/>
>             </ax2476:resources>
>             <ax2476:resources xsi:type="ax2476:ResourceData">
>                <ax2476:contentType xsi:nil="true"/>
>                <ax2476:faultSeqXml xsi:nil="true"/>
>                <ax2476:faultSequenceKey xsi:nil="true"/>
>                <ax2476:inSeqXml xsi:nil="true"/>
>                <ax2476:inSequenceKey xsi:nil="true"/>
>                <ax2476:methods>POST</ax2476:methods>
>                <ax2476:methods>DELETE</ax2476:methods>
>                <ax2476:methods>GET</ax2476:methods>
>                <ax2476:outSeqXml xsi:nil="true"/>
>                <ax2476:outSequenceKey xsi:nil="true"/>
>                <ax2476:protocol>0</ax2476:protocol>
>                <ax2476:uriTemplate>/{petId}</ax2476:uriTemplate>
>                <ax2476:urlMapping xsi:nil="true"/>
>                <ax2476:userAgent xsi:nil="true"/>
>             </ax2476:resources>
>             <ax2476:statisticsEnable>false</ax2476:statisticsEnable>
>             <ax2476:tracingEnable>false</ax2476:tracingEnable>
>          </ns:return>
>       </ns:getApiByNameResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
>
>
> Thanks,
>
> Maheeka Jayasuriya
> Senior Software Engineer
> Mobile : +94777750661
>



-- 

-- 
*Joseph Fonseka*
WSO2 Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 772 512 430
skype: jpfonseka

* <http://lk.linkedin.com/in/rumeshbandara>*
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to