Hi Manu

Copy API will duplicate not just the resource it will duplicate all the
resources associated to it as well eg. Documents. So re-posting the API
resource json will not be sufficient in this particular case. But there is
a possibility of duplicating the associated resources from the client as
well but IMHO that will complicated the client implementation.

Nevertheless its a problem that we face how to represent an action as a
resource.  Currently we have adopted "<action>-<resource or attr acted
upon>" kind of notation.

Regards
Jo


On Mon, Mar 30, 2015 at 4:49 PM, Manuranga Perera <m...@wso2.com> wrote:

> Hi Frank,
> I see few endpoints representing actions rather than resources. For
> example POST /apis/{apiId}/copy-api.
> This is an action because there is no resource called copy-api. I would
> rather see it as posting an existing API to the /apis.
> In a HATEOS system we will be posting the href of an existing API to /apis
> endpoint. Since we are not there yet, we can use some json representation
> of the existing API.
>
> What do you think?
>
> On Tue, Mar 31, 2015 at 12:03 AM, Joseph Fonseka <jos...@wso2.com> wrote:
>
>> Hi Frank
>>
>> Thanks for the feedback. And it is nice to see how we can control cashing
>> and concurrency with the additional headers. We will update the remaining
>> APIs with the same concepts.
>>
>> Please let us know a convenient time for a call to discuss on it further.
>>
>> Also we will try to document these design decisions and concepts to
>> benefit APIs created in the future.
>>
>> BTW. The changes were pushed to the repo.
>>
>> Thanks
>> Jo
>>
>>
>> [1] http://hevayo.github.io/restful-apim/
>>
>> On Sat, Mar 28, 2015 at 12:47 AM, Frank Leymann <fr...@wso2.com> wrote:
>>
>>> Hi Jo,
>>>
>>> again, thanks for your work: we'll get a nice RESTful API :-)   In the
>>> Richardson maturity model we'll get to level 2 (not level 3 because we are
>>> leaving out HATEOS - which is something that is not used often today in
>>> practice anyhow).
>>>
>>> I exported the YAML of the API, put it into a Word document and used the
>>> "change tracking" feature to comment/modify across the document - please
>>> find the document attached. (Frank Input - API Manager API -
>>> 2015-03-27.docx)
>>>
>>> All the changes I made to YAML itself is in the separate swagger YAML
>>> file I attached too.  I used the swagger 2.0 tool to create this YAML, and
>>> the tool shows no syntax errors... So you may import it into your tool
>>> without problems. (FL Input API Manager API - 2015-03-27.yaml)
>>>
>>> I worked on the apis of the /apis and /apis/{apiID} resources. Before I
>>> continue, I suggest that we have a discussion (i.e. a call) to discuss the
>>> changes/suggestions I made. We need to agree whether this fits into the
>>> plan for implementing in the next release.
>>>
>>> Looking forward....
>>>
>>>
>>>
>>> Best regards,
>>> Frank
>>>
>>> 2015-03-26 4:52 GMT+01:00 Joseph Fonseka <jos...@wso2.com>:
>>>
>>>> Hi Frank
>>>>
>>>> What are the headers we should include ?
>>>>
>>>> 1. For the access token header we can define it globally in the
>>>> security definition [1]
>>>> <https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#securityDefinitionsObject>
>>>> 2. Content-type headers are covered by the consumes and produces
>>>> attributes [2]
>>>> <https://github.com/hevayo/restful-apim/blob/master/apim.yaml#L18-L19>
>>>> 3. For post methods we have an option of sending "Link" header with a
>>>> URL to newly created resource rather than returning newly created resource
>>>> JSON.
>>>>
>>>> Thanks
>>>> Jo
>>>>
>>>> [1]
>>>> https://github.com/swagger-api/swagger-spec/blob/master/versions/2.0.md#securityDefinitionsObject
>>>>
>>>> [2]
>>>> https://github.com/hevayo/restful-apim/blob/master/apim.yaml#L18-L19
>>>>
>>>> On Wed, Mar 25, 2015 at 3:51 PM, Frank Leymann <fr...@wso2.com> wrote:
>>>>
>>>>> Hi Jo,
>>>>>
>>>>> nice piece of work!
>>>>>
>>>>> What is still needed is a description of the header fields for both,
>>>>> the requests and APIs.
>>>>>
>>>>>
>>>>>
>>>>> Best regards,
>>>>> Frank
>>>>>
>>>>> 2015-03-24 17:34 GMT+01:00 Joseph Fonseka <jos...@wso2.com>:
>>>>>
>>>>>> Hi All
>>>>>>
>>>>>> We are planing to implement a RESTFul API to expose the API Manager
>>>>>> functionality. This will be a replacement to the currently provided Store
>>>>>> and Publisher APIs [1]
>>>>>> <https://docs.wso2.com/display/AM180/Publisher+APIs> & [2]
>>>>>> <https://docs.wso2.com/display/AM180/Store+APIs>.
>>>>>>
>>>>>> Main Motivation.
>>>>>> 1. The current APIs are not RESTful and they do not cover all the
>>>>>> functionality.
>>>>>> 2. To make it easy to integrate and automate API manager
>>>>>> functionality with 3rd party systems.
>>>>>> 3. To provide better security with Oauth.
>>>>>> 4. To provide better versioning and documentation with the API.
>>>>>>
>>>>>> As a start we have written a draft version of the API definition
>>>>>> which you can find here [3] <http://hevayo.github.io/restful-apim/>.
>>>>>>
>>>>>> Following is a rough implementation plan.
>>>>>> 1. Work on the API Definition, get feed back from users and finalize.
>>>>>> 2. Implementation. ( Architecture , Jax-RS ?)
>>>>>> 3. Adding Security. ( O-auth, scopes ? )
>>>>>> 4. Testing.
>>>>>> 5. Documentation.
>>>>>>
>>>>>> API definition was written with Swagger 2 once completed we can use
>>>>>> it to generate server stubs, client stubs and documentation.
>>>>>>
>>>>>> Please share your thoughts.
>>>>>>
>>>>>> Thanks
>>>>>> Jo
>>>>>>
>>>>>> [1] https://docs.wso2.com/display/AM180/Publisher+APIs
>>>>>> [2] https://docs.wso2.com/display/AM180/Store+APIs
>>>>>> [3] http://hevayo.github.io/restful-apim/
>>>>>>
>>>>>> --
>>>>>> *Joseph Fonseka*
>>>>>>  WSO2 Inc.; http://wso2.com
>>>>>> lean.enterprise.middleware
>>>>>>
>>>>>> mobile: +94 772 512 430
>>>>>> skype: jpfonseka
>>>>>>
>>>>>> * <http://lk.linkedin.com/in/rumeshbandara>*
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> --
>>>> *Joseph Fonseka*
>>>>  WSO2 Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: +94 772 512 430
>>>> skype: jpfonseka
>>>>
>>>> * <http://lk.linkedin.com/in/rumeshbandara>*
>>>>
>>>>
>>>
>>
>>
>> --
>>
>> --
>> *Joseph Fonseka*
>>  WSO2 Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 772 512 430
>> skype: jpfonseka
>>
>> * <http://lk.linkedin.com/in/rumeshbandara>*
>>
>>
>> _______________________________________________
>> Architecture mailing list
>> Architecture@wso2.org
>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>>
>>
>
>
> --
> With regards,
> *Manu*ranga Perera.
>
> phone : 071 7 70 20 50
> mail : m...@wso2.com
>
> _______________________________________________
> Architecture mailing list
> Architecture@wso2.org
> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
>
>


-- 

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

mobile: +94 772 512 430
skype: jpfonseka

* <http://lk.linkedin.com/in/rumeshbandara>*
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to