Oi! Eu tenho uma rota de API que estou testando que lista as Solicitações de Armazém. Eu fiz ela assim:
#Include "tlpp-core.th"
namespace SolicitacaoArmazem
Class SolicitacaoArmazemController
// Vamos ter duas propriedades aqui:
// - JsonResponse (Retorno da API)
// - Construtor da nossa Service para poder instanciar ela.
Data jResponse as Json
Data oService as Object
// Necessário pra poder construir o objeto Controller
Public method new() as Object
// Insira o caminho da API que vai aparecer no REST.
@Get('/solicitacao-armazem/listar')
Public method get() as Logical
// Retorna True/False pra saber se deu certo ou não.
EndClass
/*/ {Protheus.doc} SolicitacaoArmazemController
O método New serve para poder criar e instanciar o JsonObject e a Service.
/*/
Method new() as Object Class SolicitacaoArmazemController
// Instanciando a Service e nosso JsonObject
::oService := SolicitacaoArmazemService():new()
::jResponse := JsonObject():new()
Return Self
Method get() as Logical Class SolicitacaoArmazemController
// Recebimento dos query params do Endpoint, para enviar para nossa Service.
// São todos os parâmetros que nossa Service e nossa Data recebem.
Local cFields as Character
Local cSort as Character
Local cFilter as Character
Local nPage as Numeric
Local nPageSize as Numeric
// Para checar os parâmetros recebidos do EndPoint, vamos usar o método CheckParams, de nossa Utils.
// Precisa setar também esses valores abaixo no `data` na parte de Verificação dos Parametros Passados.
// Importante: Os FIELDS devem vir no padrão "OData"! Exemplo: "name eq 'teste' and age eq 20"
cFields := utils.getQueryParam('FIELDS')
cSort := utils.getQueryParam('SORT')
cFilter := utils.getQueryParam('FILTER')
nPage := utils.getQueryParam('page')
nPageSize := utils.getQueryParam('pageSize')
// Setar o tipo de Content e o tipo de Response.
oRest:setKeyHeaderResponse('Content-Type', 'application/json; charset=utf-8')
oRest:setResponse(::oService:get(Val(nPage), Val(nPageSize), cFilter, cFields, cSort))
// Return True
Return .T.
Queria saber onde posso por alguns ConOuts
para poder ver no console onde está chegando, o que está chegando, etc, pra facilitar aqui meus testes e o desenvolvimento.
Alguém pode me ajudar?
Você está utilizando o tlpp? existe uma função que você pode gerar esses "testes". https://tdn.totvs.com/display/tec/PROBAT
Se não for isso, o melhor cenário é debugando.... vlw.
— Matheus Costa 25 de Mar de 2024Isso. Eu uso o TLPP, entendi, essa biblioteca permite criar testes de unidade? O meu caso é mais simples, os logs que eu queria criar é mais pra eu poder personalizar as mensagens do console, pra eu poder criar logs... Mas eu não estava entendendo muito bem como funcionava o ConOut, mas eu entendi uns dias atrás hahah. Vi uns exemplos no GitHub e deu certo.
Mas obrigado pela biblioteca, achei ela bem interessante, vou tentar aplicar ela em algum cenário aqui.
— Raul Chiarella 25 de Mar de 2024