On Wed, Nov 6, 2019 at 10:54 AM Ming Wen <[email protected]> wrote:

> how about POST + `nodes/node`, like this:
> curl http://****/apisix/admin/upstreams/1/nodes/node -X POST \
>         -d '{"127.0.0.1:8081":3}'
>

The POST method usually means inserting things, and if there is the same
item in the existing node list, it should not be inserted again.

That's why I finally choose the PATCH method.


>
> and we can remove one node easier.
>
> Thanks,
> Ming Wen, Apache APISIX
> Twitter: _WenMing
>
>
> YuanSheng Wang <[email protected]> 于2019年11月6日周三 上午10:14写道:
>
> > Hi:
> >
> > For the upstream node list, we should allow new nodes to be added to it
> via
> > Admin API.
> > Users only need to provide new node information.
> >
> > I think we can use PATCH + uri, with an extra parameter to indicate the
> > data merge method: full replacement or partial modification.
> >
> > Here is an example:
> >
> > *Old data:*
> >
> >     {
> >         "nodes": {
> >             "127.0.0.1:8080": 1
> >         },
> >         "type": "roundrobin",
> >         "desc": "new upstream"
> >     }
> >
> > *Add new node:*
> >
> >     curl http://****/apisix/admin/upstreams/1/nodes?merge=partial -X
> > PATCH \
> >         -d '{"127.0.0.1:8081":3}'
> >
> > *Current data:*
> >
> >     {
> >         "nodes": {
> >             "127.0.0.1:8080": 1,
> >             "127.0.0.1:8081": 3
> >         },
> >         "type": "roundrobin",
> >         "desc": "new upstream"
> >     }
> >
> >
> > --
> > *MembPhis*
> > My github: https://github.com/membphis
> > Apache APISIX: https://github.com/apache/incubator-apisix
> >
>


-- 

*MembPhis*
My github: https://github.com/membphis
Apache APISIX: https://github.com/apache/incubator-apisix

Reply via email to