On Tue, Jan 10, 2017 at 11:22 AM, Isuru Haththotuwa <[email protected]> wrote:
> Hi Devs,
>
> This is to discuss subject.
>
> *Requirement:*
>
> Once an API is exported, its possible to be directly imported in to
> another APIM deployment in a separate environment. For an admin user, it
> should be possible to export all APIs in one deployment to another one.
>
> The following information will be available in exported data, related to a
> single API:
>
> - Docs
> - API definition (JSON formatted)
> - Swagger file (JSON formatted)
> - Gateway configuration
> - API thumbnails (image)
>
> Several new resources will be added to the publisher rest API to cater
> this, as follows:
>
> *GET **/apis/{apiId}**/export-config*
>
I don't think this URI is correct. A user of this API won't know the API
ID. Hence I think the correct URI should be as *GET
/export/api?name=Foo&version=v1*
>
> - Produces a form/multipart output as a zip archive, which will have
> the following structure and which will comprise of the above mentioned
> items:
>
> * <provider-name>-<api-name>-<*
>
> *api-version>.zip |*
>
>
> * | --- Docs | |*
> * | | --- *<documentation_id>
> * | *
> * |*
> * | | ---* documentation
> metadata (json)
> * | | ---* documentation
> content (optional)
>
> * |*
>
>
> * | --- Gateway-Config |
> |*
> * | | --- *gateway config file
>
> * |*
> * | --- *thumbnail file
>
> * |*
> * | --- *api definition (json)
>
> * |*
> * | --- *swagger definition (json)
>
>
> Note that there can be multiple docs for a single API.
>
> *GET **/apis/export-config*
>
> - Produces a zip archive comprising of the above structure for each
> API in the system. This operation will be permitted for admin users only.
>
>
> *POST **/apis**/{apiId}**/import-config*
>
> - Consumes the same zip archive produced by the /{apiId/}export-config
> resource as a form/multipart input, extracts and inserts the relevant data.
>
>
> *POST *
> */apis/import-config*
>
> - Consumes the same zip archive produced by the /export-config
> resource as a form/multipart input, extracts and inserts the relevant data
> for all APIs. Should be permitted only for admin users.
>
>
> This does not consider the endpoint information [1] yet. Would need to
> incorporate that here in a suitable way.
>
> Please share your feedback.
>
> [1]. [Architecture] [APIM][C5] - Definining Endpoint for Resource from
> Rest API
>
> --
> Thanks and Regards,
>
> Isuru H.
> +94 716 358 048 <071%20635%208048>* <http://wso2.com/>*
>
>
>
> _______________________________________________
> Architecture mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>
--
Nuwan Dias
Software Architect - WSO2, Inc. http://wso2.com
email : [email protected]
Phone : +94 777 775 729
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture