标签: x-http-method-override

无法为GET编码REST请求(URL太长)

例:

问题:搜索词可能太长,以至于它破坏了Web服务器的最大URL长度.

如何允许极长的搜索条件并保持RESTful状态?

api rest search http-headers x-http-method-override

21
推荐指数
2
解决办法
1万
查看次数

Django测试客户端方法覆盖标头

我试图在我的视图集上测试我的更新方法.视图集是取自drf的模型视图集.要更新我需要发送一个put请求.由于并不总是支持这两种方法告诉服务器我正在发出一个put请求,第一种不符合我需要的方法是使用一个额外的字段来调用_method并设置它put.由于我需要发布json数据,我需要使用第二种方式,它使用X-HTTP-Method-Override标头.

要在测试用例中发布我的数据,请使用以下代码:

header = {'X_HTTP_METHOD_OVERRIDE': 'PUT'}
response = client.post('/model/1/', content_type='application/json', data=post_data_clean, **header)
Run Code Online (Sandbox Code Playgroud)

但不幸的是,我得到的结果是{'detail':'Method POST not allowed.'}.我使用插件(Postman)测试了服务器的行为,我也指定了X-HTTP-Method-Override标头.没有例外.我现在需要知道如何正确地将标头传递给django测试客户端,否则测试会在这里变得非常烦人.

python django put django-rest-framework x-http-method-override

12
推荐指数
2
解决办法
7089
查看次数