我已开始将TasyPie用于API,并在下面构建以下资源。我的问题是使用API的客户端不会在json中生成POST,即
要求这样的POST ....
http://somedomain/a/path?id={{ticket.external_id}}&status={{ticket.status}}
如何通过网址允许POST?目前TasyPie仅适用于身体中的json POST。
class SMSResource(ModelResource):
class Meta(CommonMeta):
queryset = Batch.objects.all()
resource_name = 'sms'
list_allowed_methods = ['get', 'post']
detail_allowed_methods = ['get']
答案 0 :(得分:1)
您无法通过网址发送POST。这是标题中的http方法,而不是网址。
答案 1 :(得分:1)
如果使用您的API的客户端不支持POST HTTP方法,那么您需要设计一种使用GET方法模拟POST的安全方法。使用GET更改数据不是安全的,因此如果您没有其他选项,则需要考虑安全性。
我没有使用Tastypie框架,但这可能会有所帮助。 Using PUT/DELETE/PATCH In Unsupported Places
编辑:
另请检查标题中的“内容类型”。对于JSON POST,它是application / json,对于常规表单POST,它应该是application / x-www-form-urlencoded。