我正在创建自定义策略,并希望它具有单选按钮。目前,该字段在我的 json 架构文件中如下所示:
"RadioButtons": {
"type": "string",
"title": "Radio Buttons",
"enum": ["Option1 value", "Option2 value"]
}
这在策略配置 UI 中呈现为下拉菜单,这不是我想要的;我需要做什么才能在自定义策略上设置实际的单选按钮字段? 我一直在仔细阅读 Mulesoft 关于创建自定义策略的文档,但他们关于创建 json 模式文件的文档非常稀疏。 我无权访问 Cloudhub 使用的 uischema 文件,因此除非我可以包含我自己的自定义 uischema,否则更改使用的小部件似乎不是一个选项;我必须通过 json 模式来完成这一切。
任何帮助将不胜感激。
编辑其他上下文:
我的问题是指您在向 Exchange 添加策略时上传的 json 架构文件:
.yaml 定义文件定义策略的属性,但 json 架构是在 API Manager 中创建 UI 的内容:
这是我的 json 架构文件的当前内容:
{
"title": "BPDCustomPolicy",
"type": "object",
"description": "Custom Policy Test",
"properties": {
"policymessage":{
"title": "Policy Message",
"type": "string",
"description": "The message that the policy will send to the api"
},
"policyarray":{
"title": "Policy Array",
"type": "array",
"description": "The policy will send this array along with the request.",
"items": {
"type": "string"
}
},
"policychbox1":{
"title": "Policy Check Box 1",
"type": "boolean",
"description": "This is unchecked by default."
},
"policychbox2":{
"title": "Policy Check Box 2",
"type": "boolean",
"description": "This is checked by default.",
"const": false
},
"RadioButtons": {
"type": "string",
"title": "Radio Buttons",
"enum": ["Option1 value", "Option2 value"],
"enumNames" : ["Option1","Option2"]
}
},
"required":[
"policymessage",
"policyarray",
"policychbox1",
"policychbox2"
],
"@context": {
"@vocab": "anypoint://vocabulary/policy.yaml#",
"security": "anypoint://vocabulary/policy.yaml#"
},
"$id": "basic-authentication-simple",
"$schema": "https://json-schema.org/draft/2019-09/schema"
}
对于我造成的任何混乱,我们深表歉意。 再次,我将不胜感激任何我能得到的帮助。
YAML 文件用于 定义 UI 的类型:
YAML 文件
定义了策略的可配置参数。任意点API 管理器使用此文件呈现 UI 以显示输入 政策。
单选按钮是用于 YAML 文件中定义的 properties 的类型之一。
示例:
- propertyName: RadioButtons
name: Radio Buttons
description: Description
type: radio
options: # Radio button options
- name: Option1
value: Value1
- name: Option2
value: Value2