gpt4 book ai didi

python - Cherrypy REST 教程返回 TypeError : _expose() takes exactly 1 argument

转载 作者:太空宇宙 更新时间:2023-11-04 04:53:56 26 4
gpt4 key购买 nike

尝试按照 cherrypy 文档页面上的教程 7 创建 REST 样式 API。从 tutorial 复制粘贴代码,

import random
import string

import cherrypy

@cherrypy.expose
class StringGeneratorWebService(object):

@cherrypy.tools.accept(media='text/plain')
def GET(self):
return cherrypy.session['mystring']

def POST(self, length=8):
some_string = ''.join(random.sample(string.hexdigits, int(length)))
cherrypy.session['mystring'] = some_string
return some_string

def PUT(self, another_string):
cherrypy.session['mystring'] = another_string

def DELETE(self):
cherrypy.session.pop('mystring', None)


if __name__ == '__main__':
conf = {
'/': {
'request.dispatch': cherrypy.dispatch.MethodDispatcher(),
'tools.sessions.on': True,
'tools.response_headers.on': True,
'tools.response_headers.headers': [('Content-Type', 'text/plain')],
}
}
cherrypy.quickstart(StringGeneratorWebService(), '/', conf)

但是运行时报错

File "H:/researchInstrumentCatalog/dqapi/core/test.py", line 36, in <module>
cherrypy.quickstart(test(), '/', conf)
TypeError: expose_() takes exactly 1 argument (0 given)

我正在运行 cherrypy 3.8,因此 this question没有帮助

最佳答案

在您链接的问题中,我提到在 CherryPy 版本 6 中添加了使用 cherrypy.expose 装饰类的支持。

您使用的是 3.8。

将 CherryPy 升级到 6.0 之后的任何版本,或者只是不使用 expose 装饰并设置 exposed = True 的属性。

class StringGeneratorWebService(object):

# this is the attribute that configured the expose decorator
exposed = True

@cherrypy.tools.accept(media='text/plain')
def GET(self):
return cherrypy.session['mystring']

def POST(self, length=8):
some_string = ''.join(random.sample(string.hexdigits, int(length)))
cherrypy.session['mystring'] = some_string
return some_string

def PUT(self, another_string):
cherrypy.session['mystring'] = another_string

def DELETE(self):
cherrypy.session.pop('mystring', None)

关于python - Cherrypy REST 教程返回 TypeError : _expose() takes exactly 1 argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47521665/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com