REST - O que exatamente se entende por Interface Uniforme?

A Wikipedia possui:

Interface uniforme

A restrição de interface uniforme é fundamental para o design de qualquer serviço REST. [14] A interface uniforme simplifica e desacopla a arquitetura, o que permite que cada parte evolua independentemente. Os quatro princípios orientadores dessa interface são:

Identificação de recursos

Recursos individuais são identificados em solicitações, por exemplo, usando URIs em sistemas REST baseados na Web. Os próprios recursos são conceitualmente separados das representações retornadas ao cliente. Por exemplo, o servidor pode enviar dados de seu banco de dados como HTML, XML ou JSON, nenhum dos quais é a representação interna do servidor e é o mesmo recurso, independentemente.

Manipulação de recursos através dessas representações

Quando um cliente mantém uma representação de um recurso, incluindo quaisquer metadados anexados, ele possui informações suficientes para modificar ou excluir o recurso.

Mensagens auto-descritivas

Cada mensagem inclui informações suficientes para descrever como processar a mensagem. Por exemplo, qual analisador para chamar pode ser especificado por um tipo de mídia da Internet (anteriormente conhecido como tipo MIME). As respostas também indicam explicitamente sua capacidade de cache.

Hipermídia como o mecanismo do estado do aplicativo (A.K.A. HATEOAS)

Os clientes fazem transições de estado somente através de ações que são identificadas dinamicamente na hipermídia pelo servidor (por exemplo, por hiperlinks no hipertexto). Exceto por pontos de entrada fixos simples para o aplicativo, um cliente não assume que qualquer ação específica esteja disponível para quaisquer recursos específicos além daqueles descritos nas representações recebidas anteriormente do servidor.

Estou ouvindo uma palestra sobre o assunto e o palestrante disse:

"Quando alguém acessa nossa API, se você pode obter um objeto de cliente e sabe que existem objetos de pedido, você deve conseguir os objetos de pedido com o mesmo padrão em que os objetos de cliente foram adquiridos. Esses URIs são vão se parecer. "

Isso me parece errado. Não se trata tanto de como os URIs se parecem ou de que há consistência, mas é a maneira como os URIs são usados (identificar recursos, manipular os recursos por meio de representações, mensagens auto-descritivas e ódio).

Eu não acho que é isso que significa interface uniforme. O que exatamente isso significa?

questionAnswers(4)

yourAnswerToTheQuestion