Using the DELETE method. I think what we talk about is to provide convenience to the API caller, not for Dashboard.
As for the Dashboard, we could use the PUT method to update all fields as usual. Best Regards! @ Zhiyuan Ju <https://www.shaoyaoju.org/> Ming Wen <[email protected]> 于2019年11月6日周三 上午11:24写道: > 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 > > > > > > > > > >
