Rest usando Classes TLPP

Boa tarde!

Estou tentando montar um WS usando fonte .tlpp para buscar um campo no cadastro de clientes. É o primeiro rest em tlpp que montamos aqui, então nosso único exemplo é do TDN. Montei como estava lá até o ponto em que precisei de funções de banco, essas não estão funcionando. Alguém poderia dar um auxilio ou uma dica?

Segue o código:

#include 'protheus.ch'
#include 'topConn.ch'
#include 'tlpp-core.th'
#include 'tlpp-object.th'
#include 'tlpp-rest.th'

class ZDA_PNE
    private data jPathParams

    public data cReturn

    public method new()

    @Get("/pne/ZDA_PNE/:rca")
    public method GetRCACCusto()
endClass

method new() class ZDA_PNE
    ::cReturn := ""
return self

method GetRCACCusto() class ZDA_PNE
    Local cRCA := ""

    jPathParams := oRest:getPathParamsRequest()

    if jPathParams <> Nil 
        cRCA := jPathParams['rca']

        DBSelectArea("SA3")
        SA3->( DBSetOrder(1) )
        If SA3->( DBSeek( xFilial("SA3") + cRCA ) )
            ::cReturn := SA3->A3_X_CC
        Else
            ::cReturn := "RCA não encontrado!"
        EndIf

        SA3->( DBCloseArea() )
    endif

    oRest:setResponse(::cReturn)
return .T.
compartilhar
  • Victor, como está a configuração do REST no INI?

    Daniel Mendes   02 de Feb de 2021
  • Eu estou usando o msm INI que usavamos pro REST advpl.

    Segue o código:

    [HTTPSERVER]
    Enable=1
    Servers=HTTPRESTTLPP
    
    [HTTPRESTTLPP]
    hostname=zdatstapp01.belchocolates.com.br
    port=8899
    locations=HTTPROOTTLPP
    
    [HTTPROOTTLPP]
    Path=/
    RootPath=root/web
    ;DefaultPage=index.html
    ThreadPool=THREAD_POOL
    ​
    [THREAD_POOL]
    Environment=RESTTST4
    MinThreads=1

    Essa é a parte que adicionei pro TLPP

    Victor Henrique   02 de Feb de 2021
  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!

2 respostas

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