我正在使用瓶子进行POC宁静服务项目。有人会告诉我什么是决定调用者是否希望我以JSON,XML或HTML发送响应的最佳方式?我已经看到了一些使用request.mimetypes.best_match的例子,但这需要我导入flask。有没有办法在瓶子里做这个? 非常感谢, 礼
答案 0 :(得分:0)
Request
Mime类型(或内容类型)是发送到服务器的内容的类型 - 它并不意味着这与服务器应该返回的类型相同。
客户端应该知道服务器Response
类型将是什么,而不是其他 - 服务器不应该“猜测”客户想要的响应。
答案 1 :(得分: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”)。
P.S。,请务必针对“response_format”的意外值进行防御性编码,并记住相应地设置bottle.response.content_type
。