juzhiyuan edited a comment on issue #2086:
URL: https://github.com/apache/apisix/issues/2086#issuecomment-677466608


   Here is a working well schema with `dependencies`, 
[playground](https://rjsf-team.github.io/react-jsonschema-form/#eyJmb3JtRGF0YSI6eyJwb2xpY3kiOiJsb2NhbCIsInJlamVjdGVkX2NvZGUiOjUwMywiZmlyc3ROYW1lIjoiQ2h1Y2siLCJsYXN0TmFtZSI6Ik5vcnJpcyIsImFnZSI6NzUsImJpbyI6IlJvdW5kaG91c2Uga2lja2luZyBhc3NlcyBzaW5jZSAxOTQwIiwicGFzc3dvcmQiOiJub25lZWQiLCJ0aW1lX3dpbmRvdyI6MjIyfSwic2NoZW1hIjp7ImFkZGl0aW9uYWxQcm9wZXJ0aWVzIjpmYWxzZSwiaWQiOiJyb290Oi8iLCJwcm9wZXJ0aWVzIjp7ImNvdW50Ijp7Im1pbmltdW0iOjAsInR5cGUiOiJpbnRlZ2VyIn0sImtleSI6eyJlbnVtIjpbInJlbW90ZV9hZGRyIiwic2VydmVyX2FkZHIiLCJodHRwX3hfcmVhbF9pcCIsImh0dHBfeF9mb3J3YXJkZWRfZm9yIl0sInR5cGUiOiJzdHJpbmcifSwicG9saWN5Ijp7ImVudW0iOlsibG9jYWwiLCJyZWRpcyJdLCJ0eXBlIjoic3RyaW5nIiwiZGVmYXVsdCI6ImxvY2FsIn0sInJlamVjdGVkX2NvZGUiOnsiZGVmYXVsdCI6NTAzLCJtYXhpbXVtIjo2MDAsIm1pbmltdW0iOjIwMCwidHlwZSI6ImludGVnZXIifSwidGltZV93aW5kb3ciOnsibWluaW11bSI6MCwidHlwZSI6ImludGVnZXIifX0sInJlcXVpcmVkIjpbImNvdW50IiwidGltZV93aW5kb3ciLCJrZXkiXSwidHlwZSI6Im9iamVjdCIsImRlcGVuZGVuY2llcyI6eyJwb2xp
 
Y3kiOnsib25lT2YiOlt7InByb3BlcnRpZXMiOnsicG9saWN5Ijp7ImVudW0iOlsibG9jYWwiXX19fSx7InByb3BlcnRpZXMiOnsicG9saWN5Ijp7ImVudW0iOlsicmVkaXMiXX0sInJlZGlzX2hvc3QiOnsibWluTGVuZ3RoIjoyLCJ0eXBlIjoic3RyaW5nIn0sInJlZGlzX3Bhc3N3b3JkIjp7Im1pbkxlbmd0aCI6MCwidHlwZSI6InN0cmluZyJ9LCJyZWRpc19wb3J0Ijp7Im1pbmltdW0iOjEsInR5cGUiOiJpbnRlZ2VyIn0sInJlZGlzX3RpbWVvdXQiOnsibWluaW11bSI6MSwidHlwZSI6ImludGVnZXIifX19XX19fSwidWlTY2hlbWEiOnsiZmlyc3ROYW1lIjp7InVpOmF1dG9mb2N1cyI6dHJ1ZSwidWk6ZW1wdHlWYWx1ZSI6IiIsInVpOmF1dG9jb21wbGV0ZSI6ImZhbWlseS1uYW1lIn0sImxhc3ROYW1lIjp7InVpOmVtcHR5VmFsdWUiOiIiLCJ1aTphdXRvY29tcGxldGUiOiJnaXZlbi1uYW1lIn0sImFnZSI6eyJ1aTp3aWRnZXQiOiJ1cGRvd24iLCJ1aTp0aXRsZSI6IkFnZSBvZiBwZXJzb24iLCJ1aTpkZXNjcmlwdGlvbiI6IihlYXJ0aGlhbiB5ZWFyKSJ9LCJiaW8iOnsidWk6d2lkZ2V0IjoidGV4dGFyZWEifSwicGFzc3dvcmQiOnsidWk6d2lkZ2V0IjoicGFzc3dvcmQiLCJ1aTpoZWxwIjoiSGludDogTWFrZSBpdCBzdHJvbmchIn0sImRhdGUiOnsidWk6d2lkZ2V0IjoiYWx0LWRhdGV0aW1lIn0sInRlbGVwaG9uZSI6eyJ1aTpvcHRpb25zIjp7ImlucHV0VHlwZSI6InRlbCJ9fX0sInRoZW1lIjoiZGVmYXVsdCIsI
 
mxpdmVTZXR0aW5ncyI6eyJ2YWxpZGF0ZSI6ZmFsc2UsImRpc2FibGUiOmZhbHNlLCJvbWl0RXh0cmFEYXRhIjpmYWxzZSwibGl2ZU9taXQiOmZhbHNlfX0=)
   
   ```json
   {
     "additionalProperties": false,
     "id": "root:/",
     "properties": {
       "count": {
         "minimum": 0,
         "type": "integer"
       },
       "key": {
         "enum": [
           "remote_addr",
           "server_addr",
           "http_x_real_ip",
           "http_x_forwarded_for"
         ],
         "type": "string"
       },
       "policy": {
         "enum": ["local", "redis"],
         "type": "string",
         "default": "local"
       },
       "rejected_code": {
         "default": 503,
         "maximum": 600,
         "minimum": 200,
         "type": "integer"
       },
       "time_window": {
         "minimum": 0,
         "type": "integer"
       }
     },
     "required": ["count", "time_window", "key"],
     "type": "object",
     "dependencies": {
       "policy": {
         "oneOf": [
           {
             "properties": {
               "policy": {
                 "enum": ["local"]
               }
             }
           },
           {
             "properties": {
               "policy": {
                 "enum": ["redis"]
               },
               "redis_host": {
                 "minLength": 2,
                 "type": "string"
               },
               "redis_password": {
                 "minLength": 0,
                 "type": "string"
               },
               "redis_port": {
                 "minimum": 1,
                 "type": "integer"
               },
               "redis_timeout": {
                 "minimum": 1,
                 "type": "integer"
               }
             }
           }
         ]
       }
     }
   }
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to