Alexey,
In this case we will make Not REST again.

Here is good article about idempotency:
http://www.restapitutorial.com/lessons/idempotency.html

On Mon, Jun 20, 2016 at 5:46 PM, Alexey Kuznetsov <akuznet...@gridgain.com>
wrote:

> Pavel,
>
> >> What is the use case?
> As far as I know it could be used for quick testing. But I agree that it is
> not mandatory.
> Testing could be done with appropriate tools.
>
>
> >>> large SQL query that could be fetched page by page
> >>REST is stateless. This should be handled by the user (with LIMIT/OFFSET
> in SQL).
> In this case we will force users to implement complex solutions.
> IMHO in some cases we could have state.
>
>
> On Mon, Jun 20, 2016 at 9:37 PM, Pavel Tupitsyn <ptupit...@gridgain.com>
> wrote:
>
> > Alexey,
> >
> > > be able to run all command from browser address line
> > What is the use case? Non-developers do not need that. Developers have
> > better tools than a browser to test an API.
> > GET requests must never modify data, this is very important. People and
> > software assume GET to be safe.
> >
> > > large SQL query that could be fetched page by page
> > REST is stateless. This should be handled by the user (with LIMIT/OFFSET
> in
> > SQL).
> >
> > Pavel.
> >
> > On Mon, Jun 20, 2016 at 5:20 PM, Sergey Kozlov <skoz...@gridgain.com>
> > wrote:
> >
> > > We also can consider to keep the compatibility and move new API either
> to
> > > new http port or use new url (e.g. http://localhost:8080/api/rest
> > instead
> > > of http://localhost:8080/ignite)
> > >
> > > On Mon, Jun 20, 2016 at 5:15 PM, Alexey Kuznetsov <
> > akuznet...@gridgain.com
> > > >
> > > wrote:
> > >
> > > > Pavel,
> > > >
> > > > Current API was developed long time ago and was not actively
> developed.
> > > > It may looks inconsistent for some use cases.
> > > > May be it is a good idea to develop new API and deprecate current.
> > > >
> > > > From my experience we should take care:
> > > > 1) "null" cache names
> > > > 2) some commands could have state, for example large SQL query that
> > could
> > > > be fetched page by page
> > > > 3) It will be "nice  to have" to be able to run all command from
> > browser
> > > > address line.
> > > >
> > > >
> > > > On Mon, Jun 20, 2016 at 8:59 PM, Pavel Tupitsyn <
> ptupit...@apache.org>
> > > > wrote:
> > > >
> > > > > Igniters,
> > > > >
> > > > > There are two serious issues with current Ignite REST API:
> > > > >
> > > > > 1) It does not care about HTTP verbs (GET/POST/etc).
> > > > > GET must never modify anything, for example (because GET requests
> can
> > > be
> > > > > cached, duplicated, etc).
> > > > >
> > > > > 2) Proper resource paths are not used
> > > > > For example, to get a cache value, instead of
> > > > > GET /ignite?cmd=get&key=myKey&cacheName=partionedCache
> > > > > it should be
> > > > > GET /ignite/caches/partitionedCache/keys/myKey/
> > > > >
> > > > > Modify cache key:
> > > > > PUT /ignite/caches/partitionedCache/keys/myKey/
> > > > > DELETE /ignite/caches/partitionedCache/keys/myKey/
> > > > >
> > > > >
> > > > > I think we should deprecate current API and provide a new one that
> > > > follows
> > > > > the guidelines.
> > > > > A good writeup on a proper REST API design can be found there:
> > > > > https://zalando.github.io/restful-api-guidelines/
> > > > >
> > > > >
> > > > > Thoughts, comments?
> > > > >
> > > > > Pavel.
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Alexey Kuznetsov
> > > > GridGain Systems
> > > > www.gridgain.com
> > > >
> > >
> > >
> > >
> > > --
> > > Sergey Kozlov
> > > GridGain Systems
> > > www.gridgain.com
> > >
> >
>
>
>
> --
> Alexey Kuznetsov
> GridGain Systems
> www.gridgain.com
>

Reply via email to