2010-10-05 14 views
19

Quiero hacerle algunas preguntas sobre la llamada REST. Soy verde para la llamada REST y me gustaría saber qué es la llamada REST y cómo usar la URL para enviar una llamada REST al servidor. ¿Alguien puede darme un tutorial básico o un enlace para mi referencia?¿Qué es la llamada REST y cómo enviar una llamada REST?

Además, si deseo enviar una llamada REST al servidor, ¿qué debo hacer? ¿Debo configurar algo en la URL? o establecer algo en el servidor? Gracias.

+2

La etiqueta "REST" de StackOverflow tiene una página sobre que tiene enlaces útiles: http://stackoverflow.com/tags/rest/info –

+1

Esta pregunta se ha realizado muchas veces antes aquí. ¿Buscó preguntas existentes? –

+2

@DarrelMiller Si se ha preguntado muchas veces antes, debe marcarlo como un duplicado. –

Respuesta

15

REST es solo un estilo de arquitectura de software para exponer recursos.

  • Utilice los métodos de HTTP explícitamente.
  • Sea apátrida.
  • Expone los URI de tipo estructura de directorios.
  • Transferir XML, notación de objetos JavaScript (JSON) o ambos.

Una llamada REST típica para devolver información sobre 34456 cliente podría quedar así:

http://example.com/customer/34456 

Tener un vistazo a la IBM tutorial para los servicios web REST

+3

REST no está limitado a ningún tipo de medio en particular. Utilice test/plain, image/jpeg, text/html, application/xhtml, cree uno propio. –

9

REST es algo de un renacimiento de Antiguo- escuela HTTP, donde los verbos HTTP (comandos) tienen un significado semántico. Hasta hace poco, las aplicaciones que querían actualizar cosas en el servidor proporcionaban un formulario que contenía una variable de "acción" y un montón de datos. El comando HTTP casi siempre sería GET o POST, y sería casi irrelevante. (Aunque casi siempre ha habido una proscripción contra el uso de GET para operaciones que tienen efectos secundarios, en realidad muchas aplicaciones no se preocupan por el comando utilizado).

Con REST, podría en su lugar PUT /profiles/cHao y enviar un XML o Representación JSON de la información de perfil. (O más bien, lo haría, tendría que actualizar su propio perfil. Eso implicaría iniciar sesión, generalmente a través de los mecanismos de autenticación incorporados de HTTP). En este último caso, lo que desea hacer es especificado por el URL, y el cuerpo de la solicitud es solo las agallas del recurso involucrado.

http://en.wikipedia.org/wiki/Representational_State_Transfer tiene algunos detalles.

+0

gracias por su respuesta. Pero todavía no entiendo completamente. ¿Quiere decir que tengo que establecer algo en el .xml, o simplemente agregar el para en la URL como GET. – Questions

+0

@Questions: generalmente no hay "params" de la misma forma que los usarías en una solicitud GET. 'PUT/profiles/cHao' dice qué hacer, ya que un servicio RESTful expondría'/profiles/cHao' como un recurso (es decir: también podría 'GET/profiles/cHao' y obtener una versión XML o JSON de mi perfil), y la parte 'PUT' dice que quiero reemplazarlo. Lo único que necesitaría establecer es el cuerpo de la solicitud (es decir, el perfil en sí, que generalmente estará en XML o JSON) y un nombre de usuario y contraseña o un certificado de cliente (ya que la mayoría de los servicios no permitirán que extraños modifiquen cosas). – cHao