/Laboratorio-de-API

Repositorio para estudos e implementacoes do ecosistema .NET

Primary LanguageC#MIT LicenseMIT

Laboratorio de API

@rodrigofelixf Estudos

Repositorio para estudos do ecosistema .NET.

Tecnologias

Referencias de estudos

Como Executar

  • Clonar repositório git
  • Navegar ate o projeto:
$ cd Laboratorio-de-API
  • Executar a aplicação:
$ dotnet build
$ dotnet run

A API poderá ser acessada em [localhost:porta]. O Swagger poderá ser visualizado em localhost:porta/swagger-ui.html

API Endpoints

Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta httpie: (OBS: Você tambem pode usar o Insomnia ou o Postman para fazer as requests)

Endpoint Funcionario ("api/v1/employee")

  • Criar Funcionario
$ http POST :<Porta>/api/v1/employee name="Funcionario 1" age=99 photo="url/uploadfile"

[
  201 CREATED
]
  • Listar Funcionarios - (Com quantidade de itens(5) e paginas(1))
$ http GET :<Porta>/api/v1/employee?pageNumber=1&itemQuantity=5

[
  {
    "id": 6,
    "nameEmployee": "Cora",
    "photo": "https://robohash.org/doloremqueeumhic.png?size=50x50&set=set1"
  },
  {
    "id": 7,
    "nameEmployee": "Fleur",
    "photo": "https://robohash.org/etsapienteexpedita.png?size=50x50&set=set1"
  },
  {
    "id": 8,
    "nameEmployee": "Georgie",
    "photo": "https://robohash.org/impeditaperiamaccusantium.png?size=50x50&set=set1"
  },
  {
    "id": 9,
    "nameEmployee": "Lane",
    "photo": "https://robohash.org/alaudantiumvitae.png?size=50x50&set=set1"
  },
  {
    "id": 10,
    "nameEmployee": "Brandais",
    "photo": "https://robohash.org/consequaturvoluptatemodio.png?size=50x50&set=set1"
  }
]
  • Fazer Download da photo do funcionario (id(1)/download)
$ http GET :<Porta>/api/v1/employee/1/download


  {
    200 Ok
    PHOTO URI
  }

Endpoint Autenticacao ("api/v1/auth")

  • Atualizar Tarefa
$ http POST :<Porta>/api/v1/auth?username=felipe&password=123456

{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbXBsb3llZUlkIjoiMCIsIm5iZiI6MTcxMzc0MDkxOSwiZXhwIjoxNzEzNzUxNzE5LCJpYXQiOjE3MTM3NDA5MTl9.PlQoO288kgeDmmQtB5Yvn7x1ok9JFLKCDkjLkdH_Dgk"
}