REST como lidar com parâmetros de consulta quando colocados no recurso?

StackOverflow https://stackoverflow.com/questions/49011

  •  09-06-2019
  •  | 
  •  

Pergunta

Eu tenho um serviço de dados REST onde desejo permitir que os usuários criem novos itens com HTTP PUT usando diferentes formatos como json,xml,csv.Não tenho certeza de como lidar melhor com a especificação do formato no URL:

PUT /ressource/ID/json
PUT /ressource/ID/xml

ou

PUT /ressource/ID?format=json
PUT /ressource/ID?format=xml

Então, qual é a melhor maneira de especificar um indicador de formato?

Se eu especificar o formato com um parâmetro de consulta e quiser fazer um PUT como posso fazer isso com curl?

curl -T test/data.json -d "format=json"  http://localhost:5000/resource/33

não funciona.

curl -T test/data.json http://localhost:5000/update?format=json

funciona, mas prefiro deixar o curl construir os parâmetros de consulta em vez de adicioná-los sozinho.

Foi útil?

Solução

Um princípio geral dos serviços web RESTful é usar os recursos integrados ao HTTP, quando aplicável.Neste caso, você pode indicar o formato do conteúdo da sua solicitação PUT definindo o parâmetro Tipo de conteúdo cabeçalho para aplicativo/json ou aplicativo/xml.

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