Árvore de páginas

Classe responsável por tratar e manipular os dados recebidos via objeto JsonObject na API Progress. Através dela é possível a recuperação das seguintes informações:

  • URL da requisição
  • Método da requisição
  • Headers enviados na requisição
  • Parâmetros do tipo Path
  • Parâmetros do tipo Query
  • Linha inicial de busca de registros no banco (calculado com base na página atual e tamanho de página) (caso enviado na requisição).
  • Tamanho de página (caso enviado na requisição)
  • Campos a serem retornados (caso enviado na requisição)
  • Campos a serem expandidos (caso enviado na requisição)
  • Ordem dos registros (caso enviado na requisição)
  • Corpo da requisição.

Exemplo
DEFINE VARIABLE oRequestParser AS JsonAPIRequestParser NO-UNDO.

oRequestParser = NEW JsonAPIRequestParser(pJsonInput).

ASSIGN cURI = oRequestParser:getURI()
       cMethod = oRequestParser:getMethod()
       oHeaders = oRequestParser:getHeaders()             
       aPathParams = oRequestParser:getPathParams()
       oQueryParams = oRequestParser:getQueryParams()
       iStartRow = oRequestParser:getStartRow()
       iPageSize = oRequestParser:getPageSize()
       iPage = oRequestParser:getPage()
       cFields = oRequestParser:getFieldsChar()
       cExpandables = oRequestParser:getExpandChar()
	   oOrder = oRequestParser:getOrder()
       lcPayload = oRequestParser:getPayloadLongChar().

Construtor

Parâmetro

Descrição

JsonObjectObjeto JSON recebido como parâmetro pela procedure da requisição (contendo o conteúdo completo da requisição)

Métodos

Nome

Descrição

getURIRecupera a URL da requisição.
getMethodRecupera o Método da Requisição (GET, POST, DELETE, etc).
getPathParams

Retorna um objeto JsonArray com os parâmetros PATH da requisição. Exemplo:

["path1","path2","path3"]
getQueryParams

Retorna um objeto JsonObject com os parâmetros QUERY da requisição. Exemplo:

{"codUser":["cod01","cod02","cod03"]}
getPayloadRetorna um objeto JsonObject com o corpo da requsição.
getPayloadLongCharRetorna um LONGCHAR com o corpo da requsição.
getPageSize

Recupera o tamanho da página, caso tenha sido passado como parâmetro. Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&expand=expandValue1&filter=filterValue1

getPage

Recupera o número da página, caso tenha sido passado como parâmetro. Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&expand=expandValue1&filter=filterValue1

getStartRow

Recupera a posição do registro inicial a ser pesquisado de acordo com o número e tamanho da página (caso tenha sido passado como parâmetro).

Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&expand=expandValue1&filter=filterValue1

Retorna: (5 - 1) * 20 + 1 = 81

getFields

Retorna um objeto JsonArray com os campos a serem pesquisados, caso tenha sido passado como parâmetro. Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&expand=expandValue1&filter=filterValue1

["fields1"]
getFieldsChar

Retorna um LONGCHAR com os campos a serem pesquisados separados por vírgula.

getOrder

Retorna um objeto JsonArray com os campos a serem ordenados, caso tenha sido passado como parâmetro. Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&order=fields1&expand=expandValue1&filter=filterValue1

["fields1"]
getOrderCharRetorna um LONGCHAR com os campos a serem ordenados separados por vírgula.
getExpand

Retorna um objeto JsonArray com os campos a serem expandidos, caso tenha sido passado como parâmetro. Exemplo:

URL

/prg/tstun/V1/totvs-fwk-rest-tstun-prg/getAttributes?page=5&pageSize=20&fields=fields1&order=fields1&expand=expandValue1&filter=filterValue1

["expandValue1"]
getExpandCharRetorna um LONGCHAR com os campos a serem expandidos separados por vírgula.
  • Sem rótulos