关于 Amster '--body' 选项(OpenAM 命令行)

About Amster '--body' option (OpenAM command line)

大多数 Amster 命令都有一个“--body”选项。此选项允许您使用 JSON 语法发送请求的主体。但是,如果您的请求正文很大,则 --body 选项会很大,而 Amster 命令对于您的终端来说也会很大。是否有任何选项可以以命令行不那么不舒服的方式指定此 JSON 文本? 也许它存在一个选项,允许您指示 JSON 文件或类似文件的路径。 我将非常感谢任何答案。

我下面的回答是基于最新可用的 Amster (6.0.0)

您可以在 Script mode 中使用 Amster。 基本上你可以在一个单独的文件中编写你的 amster 命令,我们称之为 myscript.amster,请注意,扩展名并不重要。

然后您可以在脚本中添加整个命令,包括 json,用于 e.x。创建领域:请注意使用:\ 将 json 跨越多行。

create Realms --global --body '{ \
    "name": "test", \
    "active": false, \
    "parentPath": "/", \
    "aliases": [ "testing" ] \
}'

现在,您可以 运行 此脚本有两种模式:

来自 amster shell:

am> :load <pathToYourScript>

无需进入脚本模式:

amster/amster <pathToYourScript>

在此模式下,请记住在 运行 命令之前 connect 到您的 openam 服务器,并在最后 :quit 。您应该在您的 amster 的 samples 目录中找到更多示例。