Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-16 Thread YuanSheng Wang
we can create a Github issue and continue this job. ^_^ On Thu, Jul 16, 2020 at 8:50 PM junxu chen wrote: > Hello, Yuansheng, > Your understanding is right, and "array object should update fully" looks > good to me. > > On Thu, Jul 16, 2020 at 10:01 AM YuanSheng Wang > wrote: > > > @junxu I

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-16 Thread junxu chen
Hello, Yuansheng, Your understanding is right, and "array object should update fully" looks good to me. On Thu, Jul 16, 2020 at 10:01 AM YuanSheng Wang wrote: > @junxu I think this way is enough. > > Here is more detail, please confirm I am right: > > > update `methods` fully: > > curl -XPATCH

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-15 Thread YuanSheng Wang
@junxu I think this way is enough. Here is more detail, please confirm I am right: > update `methods` fully: > curl -XPATCH http://172.17.0.1:9080/apisix/admin/upstreams/1/methods -d ‘["GET"]’ fully update data by sub-path, eg: `/methods` Here is case A: curl -XPATCH

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread junxu chen
Sorry for the mistake. Self register and not affect other nodes should be: curl -XPATCH http://172.17.0.1:9080/apisix/admin/upstreams/1 -d ‘{nodes: {" 172.17.0.6:8080": 10}}’ Self unregister and not affect other nodes should be: curl

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread junxu chen
hi, Ming If we support both styles, it should be: curl -XPATCH http://172.17.0.1:9080/apisix/admin/upstreams/1/methods -d ‘["GET"]’ Self register and not affect other nodes: curl -XPATCH http://172.17.0.1:9080/apisix/admin/upstreams/1/nodes -d ‘{" 172.17.0.6:8080": 10}’ Self unregister and

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread Ming Wen
hi,junxu, please show the example how to resolve: "methods": ["GET", null, null, null, null, null, null, null, null] IMO, multiple implementations will confuse users. Thanks, Ming Wen, Apache APISIX(incubating) & Apache SkyWalking Twitter: _WenMing junxu chen 于2020年7月14日周二 上午9:28写道: > I

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread junxu chen
I think We could support both styles. Want to update a certain attribute in full, use the old style. Want to partially update, use the current style. On Tue, Jul 14, 2020 at 9:15 AM Ming Wen wrote: > > For example, if user want to update the `method` of > `/apisix/admin/routes/1`, > user need

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread Ming Wen
> For example, if user want to update the `method` of `/apisix/admin/routes/1`, user need to PATCH with data: `"methods": ["GET", null, null, null, null, null, null, null, null]`. For me, I don't know why I need a lot of `null` after "GET". I suggest we focus on solving these kinds of problems

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread YuanSheng Wang
old style: curl -XPATCH http://127.0.0.1:9080/apisix/admin/upstreams/1/nodes -d ‘{" 127.0.0.1:8083":3}’ current style: curl -XPATCH http://127.0.0.1:9080/apisix/admin/upstreams/1 -d ‘{nodes: {" 127.0.0.1:8083":3}}’ They are the same and all idempotent. On Tue, Jul 14, 2020 at 7:27 AM Ming Wen

Re: Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread Ming Wen
hi, jinwei, we need to roll back the current PATCH implementation if you want this style of admin api. jinwei 于 2020年7月14日周二 上午12:25写道: > I used to use this API a lot > > > > > curl -XPATCH http://127.0.0.1:9080/apisix/admin/upstreams/1/nodes -d ‘{" > 127.0.0.1:8083":3}’ > > > > > I like this

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-13 Thread YuanSheng Wang
{ desc: , id: , nodes: ["xx", "yy", "zz"] } I have one question, if we want to update the `desc` and `nodes`, how to do with this case? The old API style does not support this way. Should we support this case? Otherwise, we will never support updating part of the data like

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-12 Thread Ming Wen
Agreed, it's acceptable. We should keep user-friendly. Thanks, Ming Wen, Apache APISIX(incubating) & Apache SkyWalking Twitter: _WenMing Zhiyuan Ju 于2020年7月13日周一 上午6:42写道: > I think when facing the issue you mentioned, we just > > PATCH {methods: [GET, POST]} > > , and API should just do a

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-12 Thread Zhiyuan Ju
I think when facing the issue you mentioned, we just PATCH {methods: [GET, POST]} , and API should just do a “PUT Like” action for the “methods” filed. Data with some fixed length “null” is confusing actually. Ming Wen 于2020年7月12日 周日下午10:45写道: > Whether to roll back has nothing to do with

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-12 Thread Ming Wen
Whether to roll back has nothing to do with new or old commit. The current implementation is not in compliance with the specifications and user perception, there is no need to keep. APISIX is API gateway, the admin api must follow good design specifications. YuanSheng Wang 于 2020年7月12日周日

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-12 Thread YuanSheng Wang
It is not a good idea to `roll back` the PATCH implementation for admin API. 1. it is an old commit. 2. we can support the sub `PATH` if we need to support it. On Sun, Jul 12, 2020 at 10:07 PM Ming Wen wrote: > I think the design of admin api should refer to google API design doc[1], > and

Re: [DISCUSS] roll back the current PATCH implementation for admin api

2020-07-12 Thread Ming Wen
I think the design of admin api should refer to google API design doc[1], and this makes it easy to reach consensus with users. [1] https://cloud.google.com/apis/design/standard_methods Thanks, Ming Wen, Apache APISIX(incubating) & Apache SkyWalking Twitter: _WenMing Ming Wen 于2020年7月12日周日