Skip to content

Latest commit

 

History

History
294 lines (272 loc) · 4.29 KB

README.md

File metadata and controls

294 lines (272 loc) · 4.29 KB

Documentação da API

URL Base
http://localhost:8080/api

1. Usuários

a. Criar usuário

Método Rota
POST /users

Request body

{
	"name": "Andre",
	"seller": true
}

Response

Success status: 201 Created

{
  "userId": 1,
  "userName": "Andre"
}

b. Seguir usuário vendedor [US 0001]

Método Rota
POST /users/{userId}/follow/{userIdToFollow}

Request body

empty

Response

Success status: 200 OK


c. Deixar de seguir usuário vendedor [US 0007]

Método Rota
POST /users/{userId}/unfollow/{userIdToUnfollow}

Request body

empty

Response

Success status: 200 OK


d. Obter o resultado do número de usuários que seguem um determinado vendedor [US 0002]

Método Rota
GET /users/{userId}/followers/count

Request body

empty

Response

Success status: 200 OK

{
  "userId": 1,
  "userName": "Andre",
  "followers_count": 1
}

e. Obter uma lista de todos os usuários que seguem um determinado vendedor [US 0003]

Método Rota
GET /users/{userId}/followers/list

Paramêtros

Query param Valor
order name_asc = alfabético crescente
name_desc = alfabético decrescente

Request body

empty

Response

Success status: 200 OK

{
  "userId": 1,
  "userName": "Andre",
  "followers": [
    {
      "userId": 2,
      "userName": "Renan"
    }
  ]
}

f. Obter uma lista de todos os vendedores que um determinado usuário segue [US 0004]

Método Rota
GET /users/{userId}/followed/list

Paramêtros

Query param Valor
order name_asc = alfabético crescente
name_desc = alfabético decrescente

Request body

empty

Response

Success status: 200 OK

{
  "userId": 2,
  "userName": "Renan",
  "followed": [
    {
      "userId": 1,
      "userName": "Andre"
    }
  ]
}

2. Categorias

a. Criar categoria

Método Rota
POST /categories

Request body

{
	"name": "Livros"
}

Response

Success status: 201 Created

{
  "id": 1,
  "name": "Livros"
}

3. Publicações

a. Criar publicação [US 0005]

Método Rota
POST /products/newpost

Request body

{
	"userId": 1,
	"id_post": 1,
	"date": "08-07-2021",
	"detail": {
		"product_id": 1,
		"productName": "Livro 1",
		"type": "Tipo",
		"brand": "Marca",
		"color": "Cor",
		"notes": "Observação",
		"category": 1,
		"price": 90
	}
}

Response

Success status: 201 Created


b. Obter uma lista das publicações feitas pelos vendedores que um usuário segue nas últimas duas semanas [US 0006]

Método Rota
GET /products/followed/{userId}/list

Paramêtros

Query param Valor
order date_asc = data crescente (do mais antigo para o mais novo)
date_desc = data decrescente (do mais novo ao mais antigo)

Request body

empty

Response

Success status: 200 OK

{
  "userId": 2,
  "posts": [
    {
      "id_post": 1,
      "date": "08-07-2021",
      "detail": {
        "product_id": 1,
        "productName": "Livro 1",
        "type": "Tipo",
        "brand": "Marca",
        "color": "Cor",
        "notes": "Observação",
        "category": 1,
        "price": 90
      }
    }
  ]
}