Форум сайта python.su
Здравствуйте, уважаемые форумчане! :)
Недавно озадачился такой задачей, как написание XML REST вебсервиса (пока только прототип). Хотелось сделать это максимально просто, но за пару дней не удалось найти очень простых средств для скриптовых языков. Решил написать на Питоне самостоятельно. Вот что получилось (пока что очень сырая версия, некоторые вещи еще хочется добавить): http://code.google.com/p/python-very-simple-web-services/
Пример вебсервиса:
#! /usr/bin/env python
from vsws import url_pattern, Controller
from webob import Request, Response
@url_pattern("/users")
@url_pattern("/all_users")
@url_pattern("/users/${username}/list", ['GET'])
def get_users (response):
response.status = 200
return "Inside get_users()"
@url_pattern("/users/${username}")
def get_user (username):
return {"body": "Inside get_user('%s')" % username, "status": 201}
@url_pattern("/users/${username}/plans", ['GET', 'PUT'])
def get_plans (username):
return "Inside get_plans('%s'), GET or PUT" % username
@url_pattern("/users/${username}/plans", ['POST'])
def get_plans (username):
return "Inside get_plans('%s'), POST" % username
@url_pattern("/users/${username}/plans/${year}")
def get_plan (username, year, method, param2 = ''):
return "Inside get_plan('%s', %s, %s, %s)" % (username, year, method, param2)
print Request.blank ('/users/john/plans/2009?param1=value1¶m2=value2').get_response (Controller())
Офлайн