Pular para o conteúdo principal

Api

APIs Tradehub

estes exemplos visam ilustrar requisições http para os endpoints do tradehub. Usaremos um exemplo de url para ilustrar as requisições, mas os endpoints tem um padrão prefixado.

http://localhost:5050/tradehub //url de exemplo

consideraremos essa url para nossos exemplos e será chamada de SAVED_URL, apenas para este documento. NOTE: qualquer valor no endpoint que esteja dentro de aspas simples ('') é um path parameter

Itens

um Item é o objeto fundamental do Tradehub. ele é composto por os seguintes valores

    type item = {
name : string
areaDesigned : string
costCenter : string
personResponsible : User
description : string
typeOfRegistration : "DONATION" | "SELL"
itemImg : string
expirationDate : string
createdAt: string (optional)
lastModified : string (optional)
prize : number // um item sem valor(doação) é considerado o valor de -1
totalQuantity : number
itemCondition : "Nunca_Usado" | "Pouco_Usado" | "Muito_Usado" //letras capitais fazem diferença(case sensitive)
qualifiers : [
{
qualifierName : string
quantity : string
}
]
cores : string[]
}
  • GET itens

    url : SAVED_URL/items

    retorna todos os itens cadastrados

 http://localhost:5050/tradehub/items //exemplo de chamada
  • GET item

    url : SAVED_URL/items/'id'

    retorna o item com o "id" passado como parâmetro

 http://localhost:5050/tradehub/items/2 //exemplo de chamada
  • GET items from user with id

    url : SAVED_URL/items/user/'id'

    retorna todos os itens que pertencem a um usuário com o determinado "id"

 http://localhost:5050/tradehub/items/user/4 //exemplo de chamada
  • GET items from user

    url : SAVED_URL/items/user/username/'username'

    retorna todos os itens que pertencem a um usuário com o determinado "username"

 http://localhost:5050/tradehub/items/user/username/myUsername@bosch.com //exemplo de chamada
  • GET filter_items

    url : SAVED_URL/filter_items

    retorna os itens filtrados de acordo com o(s) query parameters passados na requisição

    os parametros disponíveis são:

    • location required : o lugar em que o filtro ocorre. pode ser "all", "personal", "area", "favorito".
    • username required : o usuário que está fazendo esta filtragem
    • itemName : o nome do item a ser filtrado
    • areas : a(s) área(s) que serão usadas para filtrar os itens
    • prize : o preço para filtrar os itens

      apenas os dois primeiros parâmetros são obrigatórios, os outros são opcionais e um não interfere na busca do outro.

http://localhost:5050/tradehub/filter_items?areas=[area1,area2]&location="all"&username="myUsername"&prize=20&itemName="Cadeira"
  • GET item_image

    por motivos de escalabilidade, as imagens não são salvas no banco(pelo menos não o arquivo binário da imagem). o que é salvo é o nome da imagem que foi cadastrada junto a uma sequencia aleatória de digitos(ex: myImagem412551.png). Este endpoint serve para pegar uma imagem pelo nome

    url : SAVED_URL/items/imgItems/'filename'

    retorna o arquivo binário da imagem

    http://localhost:5050/tradehub/items/imgItems/myimagem412551.png
  • GET items from area

    url : SAVED_URL/'area'/items

    retorna todos os itens cadastrados de uma determinada "area"

    http://localhost:5050/tradehub/ETS/items //exemplo de chamada
  • POST item

    url : SAVED_URL/items

    cadastra um item no banco

    o Body da requisição deve conter um JSON do tipo "item"

    http://localhost:5050/tradehub/items //exemplo de chamada
  • POST item_image

    url : SAVED_URL/items/imgItems

    Salva o arquivo de imagem de um item.

    O body deve conter um encoded formado por um arquivo Multipart File

    http://localhost:5050/tradehub/items/imgItems //exemplo de chamada
  • PUT item

    url : SAVED_URL/items/'id'

    atualiza as informações de um item. NOTE: o item inteiro precisa ser passado(requisição PUT, não PATCH)

    o body deve conter um JSON do tipo "Item"

    http://localhost:5050/tradehub/items/2 //exemplo de chamada