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 API very much, because it is idempotent. We can clearly know that the result of nodes is the element I specify and will not be affected by history; This API is also useful for service registration and discovery ! Hope to keep this API Thank you very much At 2020-07-13 22:25:43, "YuanSheng Wang" <[email protected]> wrote: >{ > desc: xxxx, > id: xxxx, > 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 this. > > > >On Mon, Jul 13, 2020 at 10:52 AM Ming Wen <[email protected]> wrote: > >> Agreed, it's acceptable. We should keep user-friendly. >> >> Thanks, >> Ming Wen, Apache APISIX(incubating) & Apache SkyWalking >> Twitter: _WenMing >> >> >> Zhiyuan Ju <[email protected]> 于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 “PUT Like” action for the “methods” filed. >> > >> > Data with some fixed length “null” is confusing actually. >> > >> > Ming Wen <[email protected]>于2020年7月12日 周日下午10:45写道: >> > >> > > 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 <[email protected]> 于 2020年7月12日周日 下午10:13写道: >> > > >> > > > 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 <[email protected]> >> wrote: >> > > > >> > > > > 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 <[email protected]> 于2020年7月12日周日 下午9:56写道: >> > > > > >> > > > > > hello, all, >> > > > > > A user has reported a issue[1] about PATCH method of admin API. >> > > > > > I looked at the PR[2] that was causing user confusion, and I >> think >> > > the >> > > > > > user is using it in the right way and our implementation is >> > > > > inappropriate. >> > > > > > >> > > > > > 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". >> > > > > > >> > > > > > From the user's perspective, the current implementation is not >> > > > > > appropriate. So I suggest roll back the current PATCH >> > > > implementation[2] >> > > > > > for admin api. >> > > > > > >> > > > > > what do you think? >> > > > > > >> > > > > > [1] https://github.com/apache/incubator-apisix/issues/1823 >> > > > > > [2] https://github.com/apache/incubator-apisix/pull/1609 >> > > > > > [3] >> > > > > > >> > > > > >> > > > >> > > >> > >> https://github.com/apache/incubator-apisix/pull/1609/files#diff-00625723b6e737f3cdb18af67165b70fR996 >> > > > > > >> > > > > > Thanks, >> > > > > > Ming Wen, Apache APISIX(incubating) & Apache SkyWalking >> > > > > > Twitter: _WenMing >> > > > > > >> > > > > >> > > > >> > > > >> > > > -- >> > > > >> > > > *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
