Pergunta

como todos podem ter notado, há grande quantidade de falso / rudimentares REST APIs no selvagem (que implementam um HTTP-API e chamá-lo descansar sem seguir a exigência hypertext-as-a aplicação pelo Estado-motor-de- , o que levou à famoso discurso de Roy T. Fielding , o homem que primeiro especificou o REST paradigma).

Eu fui incapaz de encontrar qualquer exemplos práticos de um REST implementação verdadeiramente hipertexto conduzido juntamente com as definições de tipo de mídia específicos de aplicativos associados para as transições de estado.

Existem exemplos de acesso público de tais implementações?

Foi útil?

Solução

A sua não é uma implementação no sentido de executar código, mas eu realmente gosto do artigo " como obter uma xícara de café " na InfoQ. Ele descreve o processo de encomendar um café no Starbucks como um protocolo RESTful. Isso vai além do típico "tudo é um recurso" RESTO artigo introdutório e se concentra em HATEOAS. Altamente recomendado.

Outras dicas

Como sobre o Sun API cloud? Da introdução:

A API pressupõe nenhuma estrutura particular no espaço URI. O ponto de partida é um URI, fornecido pelo provedor de serviços em nuvem, que identifica a própria nuvem. A representação da nuvem contém URIs para os outros recursos na nuvem, e também para as operações que podem ser realizadas sobre eles (por exemplo, implantar e iniciar máquinas virtuais).

O bastidores pode também ser útil.

Netflix tem um RESTO API baseado em HATEOAS que inclui links como parte dos recursos.

Não é o sossego da API Sun Nuvem realmente abordadas no 4º ponto de Roy:

A API REST não deve definir nomes ou hierarquias de recursos fixos (um acoplamento óbvia de cliente e servidor). Os servidores devem ter a liberdade para controlar seu próprio namespace. Em vez disso, permitir que os servidores aos clientes orientar sobre como construir URIs apropriados, como é feito em formulários HTML e modelos URI, definindo essas instruções dentro de tipos de mídia e relações de link. [Falha aqui implica que os clientes estão assumindo uma estrutura de recursos devido ao fora-de informações banda, tais como um padrão específico de domínio, que é o equivalente ao acoplamento funcional da RPC orientado a dados].

Exemplo 1 nomes de recursos fixos em um heirachy definido:

A partir da API Sun Cloud: "... a representação de um VDC irá incluir representações dos Clusters que o habitam, que por sua vez incluem representações do VMs dentro de cada cluster"

Exemplo 2 fora-de-banda de informação, tal como um padrão de domínio específico:

Você tem que ter o conteúdo wiki páginas (out-of-band informações) para saber que o "mecanismo de comunicação de recursos" para o campo de recursos Cloud "uri" é GET.

Eu percebi isso foi pedido um tempo atrás, mas eu levei uma facada em demonstrando um fluxo API REST "adequado" para um exemplo simples. Tentei seguir regras de Roy para descanso - talvez pudesse ajudar: Exemplo API usando DESCANSO

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top