Как реализовать несколько методов POST в CherryPy - PullRequest
0 голосов
/ 03 января 2019

Я новичок в cherryPy и работаю над взаимодействием GUI с функциями Python, для этого я использую CherryPy.Я следовал этому уроку cherryPy .В этом метод POST не делает ничего, просто возвращает некоторую строку, но в моем случае может быть много функций, которые будут взаимодействовать с GUI, используя POST.Я попробовал это:

@cherrypy.expose
class StringGeneratorWebService(object):

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

    def POST(self, counter,param):
         if counter == 1:
              function1(param) # call a python function
         elif counter == 2:
              function2(param)
         elif counter == 3:
              function3(param)


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

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

В приведенном выше коде в методе POST счетчик и Param являются параметрами из запроса AJAX.По значению счетчика я вызываю соответствующую функцию.Param может быть большим документом JSON.Приведенный выше код работает, но это очень грубый способ сделать это, так есть ли другой способ, который является хорошей практикой кодирования?

...