0

我正在将瓶子用于 POC 宁静的服务项目。有人可以让我知道确定调用者是否希望我以 JSON、XML 或 HTML 格式发送响应的最佳方法是什么?我已经看到了一些使用 request.mimetypes.best_match 的例子,但这需要我导入烧瓶。有没有办法在瓶子本身做到这一点?非常感谢,礼萨

4

2 回答 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 回答