@vincixu I think you can provide a real use case.
`plugin option's specified value` > `metadata` > `default value` It is better than the current way. On Fri, Nov 13, 2020 at 10:46 PM YuanSheng Wang <[email protected]> wrote: > Let me think about this and reply in detail later. > > On Thu, Nov 12, 2020 at 8:37 PM vincixu <[email protected]> wrote: > >> Recently, when I was reviewing some pr, I had trouble with plugins: which >> parameters should we put in the metadata? >> Some people may say: when you need to modify it through adminapi, put it >> in >> the metadata. >> Well, I also know this rule, but in fact, when we are developing a plugin, >> we are actually not sure which parameters really only need to be >> configured >> separately in the plugin instead of being put into the metadata. >> So here I suggest merging the configuration of the plugin with the >> metadata, so that the metadata and the plugin configuration use the same >> schema, and the priority order of values is as follows: >> plugin option's specified value> metadata >default value. >> In this way, we can get the following benefits: >> 1. Reduce complexity and learning costs. Plugin developers still only need >> to care about the option schema, and no longer need to call additional >> functions to get metadata. >> 2. No need to consider which parameters should be placed in metadata and >> which parameters should be placed in option >> >> In fact, usually the content of metadata is also required by plugins. We >> should reduce the burden on plugin development. >> What do you think? >> > > > -- > > *MembPhis* > My GitHub: https://github.com/membphis > Apache APISIX: https://github.com/apache/apisix > -- *MembPhis* My GitHub: https://github.com/membphis Apache APISIX: https://github.com/apache/apisix
