Hi, As per the current publisher REST API [1], there is a resource to get the subscription for a given API.
This returns the following subscriptionDTO with subscription details and IDs of other objects associated with it (applicationId, apiId). @JsonProperty("subscriptionId") private String subscriptionId = null; @JsonProperty("applicationId") private String applicationId = null; @JsonProperty("apiId") private String apiId = null; @JsonProperty("subscriptionTier") private String subscriptionTier = null; @JsonProperty("subscriptionStatus") private SubscriptionStatusEnum subscriptionStatus = null; For the UI we need the application name and API name to be displayed along with the subscription status. In order to do get APP_NAME and API_NAME, we need to do two additional network calls with apiID and applicationID to two different resources. Therefore if we are to display 10 subscriptions in the UI we need to do 21 network calls. 1. One network call to get list of subscriptions which return List with 10 subscription DTO objects (1 network call) *publisher/v1/subscriptions?api_id=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* 2. For each subscriptionDTO, we need to do 2 network calls to get API name and Application Name. (2 * 10 = 20 network calls) *publisher/v1/apis?api_id=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* *publisher/v1/applications?**application_id* *=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* There are two ways to handle this. 1. Include the API_NAME and APPLICATION_NAME in the same DTO. @JsonProperty("applicationName") private String applicationName = null; @JsonProperty("apiName") private String apiName = null; 2. Include the *API* *object* and *Application* *object* in the subscription DAO with required fields populated. @JsonProperty("applicationObj") private Application applicationObj = null; @JsonProperty("apiObj") private API apiObj = null; IMO 2nd approach is more suitable. Please share your thoughts. [1] https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.publisher/src/main/resources/publisher-api.yaml <https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.publisher/src/main/resources/publisher-api.yaml#L3400-L3429> -- Thanks and Regards, Anuruddha Lanka Liyanarachchi Software Engineer - WSO2 Mobile : +94 (0) 712762611 Tel : +94 112 145 345 anurudd...@wso2.com -- *Thanks and Regards,* Anuruddha Lanka Liyanarachchi Software Engineer - WSO2 Mobile : +94 (0) 712762611 Tel : +94 112 145 345 a <thili...@wso2.com>nurudd...@wso2.com
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev