Hi Sachini, Since the response could have more than 1 APIs you will have to consider about pagination as well.
For that, you may use existing *APIList *resource in the publisher-api.yaml Thanks & Regards, Ishara Cooray Senior Software Engineer Mobile : +9477 262 9512 WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware On Tue, May 15, 2018 at 10:08 AM, Sachini De Silva <[email protected]> wrote: > Hi Harsha, > > Yes, the response contains the swagger definition of APIs and all fields > in APIDTO. As for the current implementation labeled apis are returned as a > json list. (see response.json) To accommodate this I have introduced a new > DetailedAPIListDTO as below. > > DetailedAPIList: > title: Detailed API List > properties: > list: > type: array > items: > $ref: '#/definitions/API' > > At the moment I am working on compressing the response. > > Thanks, > Sachini > > > On Mon, May 14, 2018 at 5:39 PM, Harsha Kumara <[email protected]> wrote: > >> Hi Sachini, >> >> Is swagger definition embed with the response returning from this API? >> >> Thanks, >> Harsha >> >> On Wed, May 9, 2018 at 2:49 PM Sachini De Silva <[email protected]> >> wrote: >> >>> Hi, >>> >>> @Harsha Decided to return all information in APIDTO for each API as the >>> response. (not only swagger definition, name, version, context and provider) >>> >>> Thanks, >>> Sachini >>> >>> On Wed, May 9, 2018 at 1:59 PM, Harsha Kumara <[email protected]> wrote: >>> >>>> @Sachini Can you also add a sample response as well? >>>> >>>> On Wed, May 9, 2018 at 8:02 AM, Malintha Amarasinghe < >>>> [email protected]> wrote: >>>> >>>>> Hi, >>>>> >>>>> >>>>> On Tue, May 8, 2018 at 6:10 PM, Sachini De Silva <[email protected]> >>>>> wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> Proposed resource structure is as below. >>>>>> >>>>>> >>>>>> /exports/apis: >>>>>> >>>>> >>>>> +1. I think this looks more like generic export resource which is not >>>>> really specific for the ballerina gw feature. I think it is okay as we can >>>>> use this for any other future requirements which needs API export >>>>> facilities. >>>>> >>>>> >>>>> >>>>>> get: >>>>>> x-scope: apim:api_export >>>>>> >>>>> +1 >>>>> >>>>>> >>>>>> produces: >>>>>> - application/x-gzip >>>>>> >>>>> Not sure this is the most suitable content type we need >>>>> among application/zip, application/gzip and application/x-gzip? >>>>> >>>>> To choose a better one, I think we need to think about what structure >>>>> we are going to give a response with API information. >>>>> >>>>> Will it be a compressed file with a set of folders that containing >>>>> each API's information? >>>>> >>>>> >>>>>> summary: Return apis categorized into a label. >>>>>> description: | >>>>>> This operation can be used to fetch APIs categorized into a >>>>>> certain label. >>>>>> parameters: >>>>>> - name: labelId >>>>>> in: query >>>>>> required: true >>>>>> type: string >>>>>> >>>>> >>>>> Since this is a "required" query parameter, we can think of *GET >>>>> /exports/apis/{labelId} *as well. But if we use this, we will loose >>>>> the opportunity to define *GET /exports/apis/{apiId} *in future to >>>>> export a single API. So +1 for the query parameter. >>>>> >>>>> Thanks! >>>>> >>>>>> >>>>>> responses: >>>>>> 200: >>>>>> description: | >>>>>> OK. >>>>>> schema: >>>>>> type: file >>>>>> headers: >>>>>> Content-Type: >>>>>> description: | >>>>>> The content type of the body. >>>>>> type: string >>>>>> >>>>> >>>>>> 404: >>>>>> description: | >>>>>> Not Found >>>>>> Resource to be fetched does not exist. >>>>>> schema: >>>>>> $ref: '#/definitions/Error' >>>>>> >>>>>> >>>>>> A new scope apim:export_apis will be added and the new resource will >>>>>> be protected by that. >>>>>> The returned file will contain necessary details to create ballerina >>>>>> files for the APIs. This includes,API name, version, provider, context, >>>>>> API >>>>>> swagger definition of each API that satisfies the label query. >>>>>> >>>>>> >>>>>> Thanks, >>>>>> >>>>>> Sachini >>>>>> >>>>>> >>>>>> On Fri, May 4, 2018 at 10:42 AM, Krishan Wijesena <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> On Fri, May 4, 2018 at 9:57 AM, Sachini De Silva <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi all, >>>>>>>> >>>>>>>> >>>>>>>> *Design Overview* >>>>>>>> I am working on developing a REST API to fetch API details to APIM >>>>>>>> gateway from the publisher. Fetching of APIs is based on labels, i.e as >>>>>>>> mentioned in [1] a certain set of APIs can be grouped into a certain >>>>>>>> gateway instance by a label. When setting up the gateway the user >>>>>>>> executes >>>>>>>> following command followed by user credentials. >>>>>>>> >>>>>>>> setup <label> >>>>>>>> >>>>>>>> Then a request for APIs labeled with <label> is sent to API >>>>>>>> publisher. The response to this is, API details as a compressed JSON. >>>>>>>> Then >>>>>>>> based on the retrieved details b7a project structure for the gateway >>>>>>>> instance will be created and deployed. >>>>>>>> >>>>>>> >>>>>>> How we handle the permission restrictions here? for example if >>>>>>> label X attached to API1, UserA do not have permission to view >>>>>>> API1(restricted by roles) called setup<labelX> and he should not get >>>>>>> that >>>>>>> API1 with compressed JSON? or do we provide all the API with label X to >>>>>>> that perticulr userA? >>>>>>> >>>>>>>> >>>>>>>> So ideally I should be able to do this by adding a new resource to >>>>>>>> publisher-api.yaml to fetch APIs by label. Then this resource call has >>>>>>>> to >>>>>>>> be mapped to where the setup command is executed. >>>>>>>> >>>>>>>> Suggestions are highly appreciated. >>>>>>>> >>>>>>>> Related mail threads : >>>>>>>> [1] [Architecture][APIM] Label feature for API-Manager gateway >>>>>>>> [2] [Architecture][APIM][API-Manager gateway] Attaching Labels for >>>>>>>> APIs >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Sachini >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> *Sachini De Silva* >>>>>>>> Software Engineer - WSO2 >>>>>>>> >>>>>>>> Email : [email protected] >>>>>>>> Mobile : +94714765495 >>>>>>>> >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Architecture mailing list >>>>>>>> [email protected] >>>>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> >>>>>>> *Krishan Wijesena* >>>>>>> Software Engineer | WSO2 >>>>>>> >>>>>>> Email : [email protected] >>>>>>> Mobile : +94776219923 >>>>>>> WSO2 Inc : http://wso2.com >>>>>>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> *Sachini De Silva* >>>>>> Software Engineer - WSO2 >>>>>> >>>>>> Email : [email protected] >>>>>> Mobile : +94714765495 >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Architecture mailing list >>>>>> [email protected] >>>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Malintha Amarasinghe >>>>> *WSO2, Inc. - lean | enterprise | middleware* >>>>> http://wso2.com/ >>>>> >>>>> Mobile : +94 712383306 >>>>> >>>>> _______________________________________________ >>>>> Architecture mailing list >>>>> [email protected] >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>>> >>>>> >>>> >>>> >>>> -- >>>> Harsha Kumara >>>> Software Engineer, WSO2 Inc. >>>> Mobile: +94775505618 >>>> Blog:harshcreationz.blogspot.com >>>> >>>> _______________________________________________ >>>> Architecture mailing list >>>> [email protected] >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>>> >>>> >>> >>> >>> -- >>> >>> *Sachini De Silva* >>> Software Engineer - WSO2 >>> >>> Email : [email protected] >>> Mobile : +94714765495 >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >> >> >> -- >> Harsha Kumara >> Software Engineer, WSO2 Inc. >> Mobile: +94775505618 >> Blog:harshcreationz.blogspot.com >> >> _______________________________________________ >> Architecture mailing list >> [email protected] >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > > *Sachini De Silva* > Software Engineer - WSO2 > > Email : [email protected] > Mobile : +94714765495 > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > >
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
