我用FastAPI构建了我的第一个API,在完成开发后,我用Ubuntu服务器部署了我的应用程序,我还设置了NGINX和SSL。
现在我需要用已经可用的信息填充数据库,我认为批量填充的最佳方法是通过python脚本(我将有1000多条记录要发布)。在制作过程中,我已经设置好了我的脚本,它工作得很完美,但现在我不能让它在开发中工作。我尝试了一百种不同的方法,但是POST请求被重定向到GET请求,并且响应是一个200OK消息而不是一个201created消息。更令人困惑的是,POST请求在通过Postman完成时是有效的,然后当我使用Postman在Python中获取代码片段时,它不起作用。
这是我的应用程序:https://github.com/andreasmalta1/football_data_api.git这是应用程序的托管位置:https://thefootballdata.com/api/teams/
这是我发送POST请求的脚本:
import requests
import json
login_url = "https://thefootballdata.com/api/login"
post_url = "https://thefootballdata.com/api/teams"
login_response = requests.post(login_url, data=login_payload)
access_token = login_response.json()["access_token"]
payload = json.dumps({
"full_name": "Andreas Calleja",
"name": "Andreas"
})
headers = {
'Authorization': f"Bearer {access_token}",
'Content-Type': 'application/json'
}
response = requests.request("POST", url=post_url, headers=headers, data=payload)
print(response.text)
2条答案
按热度按时间qvtsj1bj1#
正如Chris所指出的,由于我的API允许在同一端点(
api/teams
)同时发出GET
和POST
请求,因此解决方案是在请求URL处放置一个尾随的/
。在我的整个测试过程中,Postman和开发期间都不需要这样做,而只有在生产脚本编写期间才需要。oogrdqng2#
你可以这样发布你的数据: