On Wed, Jan 11, 2017 at 2:56 PM, Rushmin Fernando <rush...@wso2.com> wrote:
> IMO although we need bulk (all APIs) exporting and per API exporting, only > one ReST resource is enough for importing. > > The resource would read the received package and import the API(s) inside > the package. So having a ReST resource for importing a single API is > redundant. > Agreed. Should be able to identify whether there is only a single api / many apis from the multipart data and do the API data insertion with a single resource. > > And is there a real need for restricting the bulk import for admin users ? > An API can be published by different users. In a scenario where the api portal is exposed as a service (where users can signup and publish APIs), IMHO we should restrict the ability for a single user to export/import all APIs, which can impact all users. > > On Tue, Jan 10, 2017 at 11:22 AM, Isuru Haththotuwa <isu...@wso2.com> > 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* >> >> - 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 >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > *Best Regards* > > *Rushmin Fernando* > *Technical Lead* > > WSO2 Inc. <http://wso2.com/> - Lean . Enterprise . Middleware > > mobile : +94775615183 > > > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Thanks and Regards, Isuru H. +94 716 358 048 <071%20635%208048>* <http://wso2.com/>*
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture