I was able to figure it out, and get it to work..
Class osuwmc.DataLookup.REST.TableLookup Extends osuwmc.DataLookup.REST.Base
{
Parameter Version = "1.0.0";
Parameter HandleCorsRequests = 0;
XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
<!-- Server Info -->
<Route Url="/" Method="GET" Call="GetInfo" />
<Route Url="/EpicDepartment" Method="GET" Call="GetAllEpicDepartments" />
<Route Url="/EpicDepartment/:departmentID" Method="GET" Call="GetEpicDepartment"/>
</Routes>
}
ClassMethod GetInfo() As %Status
{
SET version = ..#Version
SET info = {
"version": (version)
}
RETURN ..%ProcessResult($$$OK, info)
}
ClassMethod GetAllEpicDepartments() As %Status
{
SET tSC = $$$OK
set %response.ContentType = ..#CONTENTTYPEJSON
set rset = ##class(osuwmc.Epic.Clarity.DepartmentMaster).ExtentFunc()
write "["
if rset.%Next(){
set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(rset.ID1)
do department.%JSONExport()
}
while rset.%Next(){
write ","
set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(rset.ID1)
do department.%JSONExport()
}
write "]"
quit tSC
}
ClassMethod GetEpicDepartment(departmentID As %String) As %Status
{
#dim tSC as %Status = $$$OK
#dim e As %Exception.AbstractException
#dim id as %Integer
set %response.ContentType = ..#CONTENTTYPEJSON
&sql(SELECT ID1 INTO :id FROM osuwmc_Epic_Clarity.DepartmentMaster WHERE ID = :departmentID)
IF SQLCODE<0 {WRITE "SQLCODE error ",SQLCODE," ",%msg QUIT}
ELSEIF SQLCODE=100 {WRITE "Query returns no results" QUIT}
set department = ##class(osuwmc.Epic.Clarity.DepartmentMaster).%OpenId(id)
Do department.%JSONExport()
QUIT tSC
}
ClassMethod SwaggerSpec() As %Status
{
Set tSC = ##class(%REST.API).GetWebRESTApplication($NAMESPACE, %request.Application, .swagger)
Do swagger.info.%Remove("x-ISC_Namespace")
Set swagger.basePath = "/api/mgmnt/v1/TESTCLIN/spec/TableLookup"
Set swagger.info.title = "REST API to Access and Query OSUWMC Cache Tables"
Set swagger.info.version = "0.1"
Set swagger.host = "intengtest"
Return ..%ProcessResult($$$OK, swagger)
}
}
- Log in to post comments
.png)
.png)