假设我们有一个接受对象列表的API。类似于:
{
"family": "Does",
"contact_details": [
{
"name": "John",
"email": "john@example.com"
},
{
"name": "Jane",
"email": "jane@example.com"
}
]
}如果您想为此添加一个CLI,那么如何构造CLI参数呢?API是一个嵌套的API,但是CLI参数是设计平面的。
我能想到两种模式,两种模式我都不喜欢:
是否还有其他我所缺少的跨*nix风格的CLI的通用设计?
发布于 2020-11-06 22:03:05
当数据复杂到无法通过命令行正确地通信时,CLI程序通常采用基于文件或stdin的输入。例如,grep允许命令行上的多个模式,但也支持在文件中传递模式。
如果您的数据是嵌套在您的示例中的,那么在命令行的限制范围内将其写下来是很容易出错的,而且很繁琐。更适合手工编辑(如YAML或TOML )的对象结构的表示可能要容易得多。
https://softwareengineering.stackexchange.com/questions/418738
复制相似问题