Flask 返回带有标题的响应';内容类型';as';应用程序/ld+;json';
在对python Eve API进行GET调用时,将默认(XML和/或JSON)HTML响应头字段“内容类型”重写为JSON-LD的“应用程序/LD+JSON”的建议方法是什么 其目的是:Flask 返回带有标题的响应';内容类型';as';应用程序/ld+;json';,flask,http-headers,mime-types,json-ld,eve,Flask,Http Headers,Mime Types,Json Ld,Eve,在对python Eve API进行GET调用时,将默认(XML和/或JSON)HTML响应头字段“内容类型”重写为JSON-LD的“应用程序/LD+JSON”的建议方法是什么 其目的是: 使用筛选器检索存储在mongodb集合中的文档 基于自定义提供的Eve模式 使用事件挂钩“on_fetched_resource”附加json ld上下文 在“@context”中 字典字段和“@graph”字段下的文档列表 在回复之前 在返回之前,还要将HTML标题“Content type”更改为JSON
from eve import Eve
app = Eve(settings=mongo_settings)
def before_returning_items(resource_name, response):
# Process response dict to make contents json-ld compliant.
# In particular add "@context" key/value pair, and
# store documents retrieved in "_items" to "@graph" instead.
return response
app.on_fetched_resource += before_returning_items
if __name__ == '__main__':
app.run()
但是,我没有找到确切的方法来将Flask、Eve和mimerender这三个不同的部分放在一起,以获得请求的ld+json标记
到目前为止,我获得的最佳结果是编辑Eve render.py以添加条目:
{'mime': ('application/ld+json',), 'renderer': 'render_json', 'tag': 'JSON-LD'}
到_MIME_类型列表
然而,理想情况下,我显然更愿意通过更改设置或使用附加模块(如mimerender)来获得附加响应mimetype的预期结果,而不是调整库/模块代码
在这种情况下,推荐的方法是什么