Contact information:
Allan Wanderley Alves
awallan259@gmail.com
Docs: https://allanalves23.github.io/swapi-s-degenerate-clone
License: MIT
Listagem de planetas / Listagem de planetas por filtro
Este endpoint retorna a listagem dos planetas. Filtrando por nome e também com páginação implementada.
Nome | Localizado na | Descrição | Requerido | Schema |
---|---|---|---|---|
search | query | Realiza a busca filtrando planetas que contenham a palavra pesquisada em seu nome | Não | string |
page | query | Informa a página desejada para listagem dos planetas | Sim | integer |
limit | query | Informa a quantidade de planetas por página serão exibidos. O máximo de registros permitidos são 100, excendendo o limite o valor padrão será assumido. | Não | integer |
Código | Descrição | Schema |
---|---|---|
200 | Um Array de planetas | [ PersistPlanetResponse ] |
500 | Um erro | DefaultErrorResponse |
Cria um planeta
Este endpoint persiste um novo planeta. Ressaltando que a quantidade de aparições nos filmes do star wars é feita automaticamente pela API publica do SWAPI. Ou seja, é necessário informar um nome de planeta válido dentro do universo, caso queira que possua filmes relacionados. Ao informar um planeta que não esteja dentro do universo do filme, a quantidade de filmes será 0 (zero).
Nome | Localizado na | Descrição | Requerido | Schema |
---|---|---|---|---|
planet | body | Planeta a ser persistido | Sim | PlanetInput |
Código | Descrição | Schema |
---|---|---|
201 | Um objeto contendo informações sobre o planeta persistido e informações sobre o recurso | PersistPlanetResponse |
400 | Um erro informando qual foi a operação inválida | BadRequestResponse |
500 | Um erro | DefaultErrorResponse |
Lista apenas um planeta
Este endpoint retorna o planeta pelo ID.
Nome | Localizado na | Descrição | Requerido | Schema |
---|---|---|---|---|
id | path | ID do planeta | Sim | string |
Código | Descrição | Schema |
---|---|---|
200 | Um planeta | Planet |
404 | Uma mensagem de planeta não encontrado | NotFoundResponse |
500 | Um erro inesperado | DefaultErrorResponse |
Atualiza um planeta
Este endpoint atualiza as informações de um determinado planeta.
Nome | Localizado na | Descrição | Requerido | Schema |
---|---|---|---|---|
id | path | ID do planeta a ser atualizado | Sim | string |
planet | body | Planeta a ser atualizado | Sim | PlanetInput |
Código | Descrição | Schema |
---|---|---|
200 | Um objeto contendo informações sobre o planeta atualizado e informações sobre o recurso | PersistPlanetResponse |
400 | Um erro informando qual foi a operação inválida | BadRequestResponse |
404 | Um erro informando que o planeta não foi encontrado | NotFoundResponse |
500 | Um erro | DefaultErrorResponse |
Remove um planeta
Este endpoint remove um planeta.
Nome | Localizado na | Descrição | Requerido | Schema |
---|---|---|---|---|
id | path | ID do planeta a ser removido | Sim | string |
Código | Descrição | Schema |
---|---|---|
200 | Um objeto contendo informações sobre o status da operação e informações sobre o recurso | RemovePlanetResponse |
404 | Um erro informando que o planeta não foi encontrado | NotFoundResponse |
500 | Um erro | DefaultErrorResponse |
Obtém o link da documentação
Este endpoint retorna um JSON informando o link da documentação no GitHub
Codigo | Descrição | Schema |
---|---|---|
200 | Link para documentação | SchemaResponse |
500 | Um erro inesperado | DefaultErrorResponse |
Nome | Tipo | Descrição | Requerido |
---|---|---|---|
id | string | Código identificador do planeta | Nunca |
name | string | Nome do planeta | Sim |
climate | string | Clima do planeta | Sim |
terrain | string | Terreno do planeta | Sim |
countFilms | integer | Quantidade de filmes associados a este planeta | Nunca |
films | [ FilmReference ] | Referências aos filmes associados a este planeta | Nunca |
Nome | Tipo | Descrição | Requerido |
---|---|---|---|
name | string | Nome do planeta | Sim |
climate | string | Clima do planeta | Sim |
terrain | string | Terreno do planeta | Sim |
Representa a URL com as informações do filme fornecida pela api https://swapi.co.
Exemplo "https://swapi.co/api/films/1/"
Nome | Tipo | Descrição |
---|---|---|
FilmReference | string | Representa a URL com as informações do filme fornecida pela api https://swapi.co. Exemplo "https://swapi.co/api/films/1/" |
Um objeto contendo as informações do recente planeta persistido
Nome | Tipo | Descrição |
---|---|---|
planet | object | O planeta |
url | string | URL para acessar este planeta |
resouce | string | O recurso utilizado para persistir este planeta |
methodAllowed | string | Descrição dos metodos disponíveis para este recurso |
Um objeto contendo as informações do recente planeta persistido
Nome | Tipo | Descrição |
---|---|---|
status | string | Status da operação |
resouce | string | O recurso utilizado para realizar a remoção do planeta |
methodAllowed | string | Descrição dos metodos disponíveis para este recurso |
Uma mensagem de erro padrão
Nome | Tipo | Descrição |
---|---|---|
code | integer | Código do erro |
msg | string | Mensagem de erro |
stack | object | Stack de erro, caso não exista um valor nulo é retornado |
Uma mensagem de erro que será modificada conforme as ações do usuário que não cumprirem com algumas regras de negócio. Exemplo - "Nome inválido"
Nome | Tipo | Descrição |
---|---|---|
code | integer | Código do erro |
msg | string | Mensagem de erro |
stack | object | Stack de erro, caso não exista um valor nulo é retornado |
Uma mensagem de erro que informará que tal recurso não foi encontrado
Nome | Tipo | Descrição |
---|---|---|
code | integer | Código do erro |
msg | string | Mensagem de erro |
stack | object | Stack de erro, caso não exista um valor nulo é retornado |
Nome | Tipo | Descrição |
---|---|---|
documentation | string | Link para acesso a documentação |