Onde posso colocar o `ConOut` na Controller da API pra ver onde está parando? Ex: "Entrou no GET"...

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?

compartilhar
  • 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 2024
  • Isso. 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
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags tlpp ou faça a sua própria pergunta.