PATCH + `nodes?merge=partial` also needs to deal with duplicate nodes.
`merge=partial` is hardly understandable for me.

Thanks,
Ming Wen, Apache APISIX
Twitter: _WenMing


YuanSheng Wang <[email protected]> 于2019年11月6日周三 上午11:00写道:

> 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