pythonpostapi_向RESTful API(Python Flask)发送POST请求,但接收GET请求

我试图以包含JSON的POST请求的形式向Zapier webhook发送一个触发器。如果我只是通过本地python脚本发送POST请求,它就可以正常工作。

我想做的是创建一个RESTful API,当调用gs端点中的create行时,它会触发Zapier webhook。

如您所见,我正在向Hasura集群发送请求后API调用。但我得到的不是“200ok成功”的响应,而是“200ok失败”,这意味着请求被视为GET请求而不是POST请求。

测试.py#Python 3 Script to send a POST request containing JSON

import json

import requests

api_url = 'http://app.catercorner16.hasura-app.io/create-row-in-gs'

create_row_data = {'id': '1235','name':'Joel','created-on':'27/01/2018','modified-on':'27/01/2018','desc':'This is Joel!!'}

r = requests.post(url=api_url, data=create_row_data)

print(r.status_code, r.reason, r.text)

server.py(在Hasura集群上运行)from src import app

from flask import jsonify,request,make_response,url_for,redirect

from json import dumps

from requests import post

url = 'https://hooks.zapier.com/hooks/catch/xxxxx/yyyyy/'

@app.route('/create-row-in-gs', methods=['GET','POST'])

def create_row_in_gs():

if request.method == 'GET':

return make_response('failure')

if request.method == 'POST':

t_id = request.json['id']

t_name = request.json['name']

created_on = request.json['created_on']

modified_on = request.json['modified_on']

desc = request.json['desc']

create_row_data = {'id': str(t_id),'name':str(t_name),'created-on':str(created_on),'modified-on':str(modified_on),'desc':str(desc)}

response = requests.post(

url, data=json.dumps(create_row_data),

headers={'Content-Type': 'application/json'}

)

return response

已经挣扎了好几个星期了。我做错什么了?希望能得到帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值