Infelizmente não temos muita literatura sobre as tecnologias da InterSystems.
Baixe nestes links: Conhecendo o Caché e Introdução a Orientação a Objetos escritos pelo Amir (hoje Diretor de Soluções e Arquitetura da InterSystems).
Espero que ajude.
Olá @Luiz Henrique Carvalho Martarelli
Você pode sobrescrever o método OnPreDispatch da sua classe que herda de %CSP.REST
O Método OnPréDispatch é executado antes de que o método que conste na regra de roteamento seja executada.
Abaixo um exemplo onde faço o controle de CORS se o método da requisição for OPTION, e checo token de acesso para todos os endpoint exceto para o endpoints ping.
O parâmetro pContinue quando verdadeiro sinaliza que o método que está na configuração de roteamento deverá ser executado, se falso responde para quem fez a chamada geralmente com algum HTTPStatus que indique o erro.
ClassMethod OnPreDispatch(pUrl As %String, pMethod As %String, ByRef pContinue As %Boolean) As %Status
{
#Dim %request As %CSP.Request = %request
#Dim %response As %CSP.Response = %response
If (pMethod = "OPTIONS") // Controle de CORS
{
Set pContinue = 0
//
Do ..HandleDefaultOptionsRequest(pUrl)
Do ..HandleDefaultCorsRequest(pUrl)
//
Return $System.Status.OK()
}
If (pUrl = "/ping")
{
Set pContinue = 1
//
Return $System.Status.OK()
}
#Dim authorization As %String = $ZConvert(%request.GetCgiEnv("HTTP_AUTHORIZATION"), "L")
#Dim token As %String = $Piece(authorization, " ", 2)
#Dim erro As %DynamicObject = {"Erro:" : "Token de autorização é obrigatório"}
If (token = "")
{
Set pContinue = 0
Set %response.Status = ..#HTTP400BADREQUEST
//
Write erro.%ToJSON()
//
Return $System.Status.OK()
}
ElseIf (token '= "t0k3n_d3_v4lid@c@0")
{
Set erro = {"Erro": "Token não autorizado!"}
Set pContinue = 0
Set %response.Status = ..#HTTP401UNAUTHORIZED
//
Write erro.%ToJSON()
//
Return $System.Status.OK()
}
Set pContinue = 1
//
Return $System.Status.OK()
}







Olá Juliano.
A forma mais rápida é via exportação para arquivo CSV e utilizar um dos conectores existentes https://support.google.com/looker-studio/answer/7333350#zippy=%2Cneste-artigo
Desenvolver uma API JSON daí você pode usar um conector de já existente como por exemplo https://windsor.ai/connect/json-google-data-studio-integration/.
Uma alterna total aderente às suas necessidades é desenvolver seu próprio conector. Não conheço a arquitetura, mas acredito que possa usar JDBC que pode facilitar um pouco. Segue documentação: https://developers.google.com/looker-studio/connector