我有一个 API 端点,我想对其进行 PUT 调用,该调用需要正文和查询参数。我使用 Django 的测试客户端在测试用例(文档)中调用我的端点。
我在文档中读到,对于 GET 调用,使用参数引入查询参数data
。我还读到对于 PUT 调用,参数data
代表主体。我错过了如何在 PUT 调用中添加查询参数的文档。
特别是,这个测试用例失败了:
data = ['image_1', 'image_2']
url = reverse('images')
response = self.client.put(url,
data=data,
content_type='application/json',
params={'width': 100, 'height': 200})
这个测试用例通过了:
data = ['image_1', 'image_2']
url = reverse('images') + '?width=100&height=200'
response = self.client.put(url,
data=data,
content_type='application/json')
换句话说:这种手动构建 URL 真的有必要吗?