Pergunta

Estamos em processo de construção de um RESTO compatível com a API.O método é implementado em PHP e nós queremos a interface a seguir a convenção sobre configuração lema.

Muitas das API consumidores será desenvolvedores Rails, e depois de um TDD estratégia para a construção de API, considerámos usando o ActiveResource para a implementação de um consumidor, enquanto que a moldar a API para cumprir com estas normas.

Esta abordagem tem caído em desuso?Que outras opções ou convenções de que poderíamos ser capazes de aderir a fim de que podemos sentir confortável tendo construído uma forte API (Como o Flickr, Facebook, Twitter, etc.)?

Graças para os ponteiros.

Chade

Foi útil?

Solução

ActiveResource requer o XML a ser muito detalhado, e IMO não é muito bem desenhado (o aninhamento de entidades pode ser uma verdadeira dor de cabeça)

Se a grande maioria de seus consumidores será desenvolvedores Rails, em seguida, talvez usando o ActiveResource compatível com o RESTO de serviços pode ser o caminho a percorrer, mas eles vão olhar muito feio para não-Trilhos e os consumidores.

Se você quiser que qualquer tecnologia capaz de consumi-lo, eu não usaria o ActiveResource, e gostaria de criar (XML ou JSON) que se ajustar os dados.

Eu tenho construído alguns sistemas que se comunicam usando o ActiveResource, e, mais recentemente, achei mais fácil fazer como eu sugiro acima.

Outras dicas

Usando o ActiveREsource convenções para mapeamento de métodos HTTP e urls para a API de ações é uma boa idéia, especialmente se, como você diz muitos de seus usuários vão usar os Trilhos.Além de que, eu aconselho você a ler "O Serviço Da Web Pode Não Ser Repousante Se..."como apenas o tratamento corretamente GET/POST/PUT/DELETE não é o tudo o que é necessário para ser realmente DESCANSAR.BTW, muitas das apis que você mencionou não são realmente DESCANSAR.

Pode ser um pouco tarde, mas se você estiver criando API para seus dados este é definitivamente vale a pena ler: https://plus.google.com/112678702228711889851/posts/eVeouesvaVX

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