2010-12-04 8 views
64

Ok. Quiero consumir servicios basados ​​en REST.¿Existe una biblioteca de Python genérica para consumir servicios basados ​​en REST?

Me gustaría usar python. De hecho, voy a usar Python.

La forma en que me gustaría utilizarlo es desde la línea de comando/ipython, para probar diferentes servicios REST, con la intención de codificarlo formalmente más tarde. (mi uso del servicio REST no el api genérico)

Estoy buscando un cliente/API REST bastante genérico, con todas las funciones en python. No es escueto, pero lujoso, agradable de usar. Hay muchos de ellos por ahí, pero me gustaría conformarme con uno y dominarlo.

¿Alguna sugerencia?

EDIT: Este es uno:

https://github.com/benoitc/restkit

EDIT: http://pypi.python.org/pypi/requests es exactamente la misma.

EDITAR: http://pypi.python.org/pypi/siesta es tan perfecto!

+14

Lamento que su pregunta haya sido cerrada de esta manera, ya que creo que es útil. También noto que usted mismo lo respondió mucho mejor que la respuesta 'aceptada'. – Anentropic

+0

Thx mucho para esta pregunta y sus propias respuestas. Me ayudó mucho cuando buscaba buenos clientes REST de Python. –

+0

Slumber es una biblioteca de cliente REST realmente buena: http://slumber.in/ – onlynone

Respuesta

12

El problema de tener una biblioteca de cliente REST "lujosa" es que el REST no está bien definido. REST, en sí mismo, solo significa que desea usar estándares HTTP siempre que sea posible, pero aparte de eso, el campo está abierto.

¿Los datos están codificados con JSON? ¿Cuáles son los esquemas de URL y qué significan?

Dado que REST básicamente solo significa HTTP, su mejor opción es httplib, pero no lo describiría como de felpa.

4

He usado principalmente urllib2 o httplib2. Realmente no he encontrado un uso para un cliente REST de propósito general.

2

Algo como una biblioteca REST genérica es casi imposible ya que cada interfaz REST es diferente. Con WADL se ha intentado establecer un lenguaje de descripción de interfaz WSDL-lik para servicios RESTful. Usando tal descripción, un cliente genérico sería posible, pero a nadie parece importarle WADL. Y todo el mundo parece estar bien con eso.

Cuestiones relacionadas