On Wed, Nov 6, 2019 at 11:06 AM Ming Wen <[email protected]> wrote: > PATCH + `nodes?merge=partial` also needs to deal with duplicate nodes. > `merge=partial` is hardly understandable for me. >
Any other suggestions? > > 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 > > > -- *MembPhis* My github: https://github.com/membphis Apache APISIX: https://github.com/apache/incubator-apisix
