通过Ansible将Json发布到API

前端之家收集整理的这篇文章主要介绍了通过Ansible将Json发布到API前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过Ansible向API端点发出POST请求,其中post数据中的一些项是动态的,这是我尝试失败的内容

我的body_content.json:

{
  apiKey: '{{ KEY_FROM_VARS }}',data1: 'foo',data2: 'bar'
}

这是我的Ansible任务:

# Create an item via API
- uri: url="http://www.myapi.com/create"
       method=POST return_content=yes HEADER_Content-Type="application/json"
       body="{{ lookup('file','create_body.json') | to_json }}"

可悲的是,这不起作用:

Failed: [localhost] => {"Failed": true}
msg: this module requires key=value arguments
....
FATAL: all hosts have already Failed -- aborting

我的ansible版本是1.9.1

解决方法

你不能在yaml中使用这样的换行符.试试这个(“>”表示下一行要连接):
# Create an item via API
- uri: >
    url="http://www.myapi.com/create"
    method=POST return_content=yes HEADER_Content-Type="application/json"
    body="{{ lookup('file','create_body.json') | to_json }}"

但我发现这更好:

# Create an item via API
- uri: 
    url: "http://www.myapi.com/create"
    method: POST
    return_content: yes
    HEADER_Content-Type: "application/json"
    body: "{{ lookup('file','create_body.json') | to_json }}"

猜你在找的JavaScript相关文章