我使用Python Nameko作为我的微服务框架,当我尝试在我的get请求中设置cookie时,我似乎无法做到,下面是我的代码:
from http import cookies
from nameko.web.handlers import http
@http('GET', '/hello')
def say_hello(self, request):
c = cookies.SimpleCookie()
c['test-cookie'] = 'test-1'
return 200, c, 'Hello World!'
当我使用Postman调用get请求时,下面是我从请求中获取的内容:
任何人都可以帮助理解行为?而不是Set-Cookie - >,它是 - >,如图所示。谢谢。
根据the docs,nameko.http
的3元组响应类型是(status_code, headers dict, response body)
。也就是说,第二个参数是标题的dict,它与cookie对象不同
要设置cookie,您需要自己构建一个werkzeug.wrappers.Response
实例(也包含在文档中的列表中):
@http('GET', '/hello')
def say_hello(self, request):
response = Response("Hello World!")
response.set_cookie('test-cookie', 'test-1')
return response