News API

Api de Atividade de DDI (Desenvolvimento Distribuido na internet)

Como executar o projeto

Para executar o projeto você vai precisar dos seguintes pre-requisitos:

  • GIT
  • Java JDK 11 (De preferência a versão correto, mas pode ser outra)
  • IntellijIDEA
  • Postman

Após a instalação dos programas listados acima, basta clonar o projeto na máquina e abrir a pasta no IntelijIDEA. O projeto vai demorar um pouco pra buildar na sua maquina a primeira vez, então você pode esperar um pouquinho. Após a aplicação terminar a build, abra o arquivo src/main/kotlin/dev.cancio/Application.kt e clique no botão de play mostrado abaixo:

image

Em seguida abra a aba run no canto inferior da IDE e espere aparecer a seguinte imagem:

image

Agora basta abrir o postman e criar os endpoints de sua preferência. Vou sugerir aqui algums para realizar testes, são esses:

  • GetCategorys: coleta todas as categorias

    • Endpoint: http://localhost:8080/category
  • GetNews: coleta uma unica notícia mediante ao id e à categoria

    • Endpoint: http://localhost:8080/sistemas_operacionais/1 ou http://localhost:8080/jogatina/1
  • CreateNews: Cria uma nova notícia

    • Endpoint: http://localhost:8080/
    • Corpo da requisição:
    {
      "category":"SISTEMAS_OPERACIONAIS",
      "news":{
          "id": "4",
          "date": "26/04/2019",
          "title": "Creating HTTP APIs",
          "urlName": "https://ktor.io/docs/creating-http-apis.html#register-customer-routes"
      }

    Note que o campo category está em uppercase. As duas alternativas de valores são: SISTEMAS_OPERACIONAIS e JOGATINA

  • UpdateNews: Atualiza uma nova notícia

    • Endpoint: http://localhost:8080/sistemas_operacionais/1 ou http://localhost:8080/jogatina/1
    • Corpo da requisição:
    {
          "id": "4",
          "date": "26/04/2019",
          "title": "Creating HTTP APIs",
          "urlName": "https://ktor.io/docs/creating-http-apis.html#register-customer-routes"
      }
  • DeleteNews: Apaga uma notícia

    • Endpoint: http://localhost:8080/sistemas_operacionais/1 ou http://localhost:8080/jogatina/1

Fases

Fase01 - Uma api simples

Frame 2