How to remove one node if using PATCH method? Thanks, Ming Wen, Apache APISIX Twitter: _WenMing
Zhiyuan Ju <[email protected]> 于2019年11月6日周三 上午11:10写道: > I agree with YuanSheng, if we want to update some target fields, it's > better to use the PATCH method, then we can design the URI format more > RESTful. > > Best Regards! > @ Zhiyuan Ju <https://www.shaoyaoju.org/> > > > Ming Wen <[email protected]> 于2019年11月6日周三 上午11:06写道: > > > 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 > > > > > >
