我正在将瓶子用于 POC 宁静的服务项目。有人可以让我知道确定调用者是否希望我以 JSON、XML 或 HTML 格式发送响应的最佳方法是什么?我已经看到了一些使用 request.mimetypes.best_match 的例子,但这需要我导入烧瓶。有没有办法在瓶子本身做到这一点?非常感谢,礼萨
问问题
377 次
2 回答
0
考虑添加客户端可以用来告诉您他们想要哪种响应格式的查询参数。
例如,如果您的请求当前如下所示:
http://myservice.com/get-item/id/190134
然后将其修改为以下之一:
http://myservice.com/get-item/id/190134?response_format=json
http://myservice.com/get-item/id/190134?response_format=xml
http://myservice.com/get-item/id/190134?response_format=html
在您的服务器代码中,bottle.request.params.get('response_format', 'json')
将为您提供所需的响应格式(假设 'json' 是此处的默认值)。
PS,请务必针对“response_format”的意外值进行防御性编码,并记住进行bottle.response.content_type
相应设置。
于 2013-07-24T15:54:34.330 回答
0
Mime-type(或 content-type)是发送到服务器的Request
内容的类型 - 这并不意味着这与服务器应该返回的类型相同。
客户端应该知道服务器Response
类型将是什么,而不是其他 - 服务器不应该“猜测”客户端想要什么响应。
于 2013-07-24T11:25:08.493 回答