|
First, let me say I am trying to do something here that I have zilch
experience with from the IBM i perspective. I have done this type of stuff
using C#.Net on Windows but nothing on the IBM i. Yesterday was my first
voyage into IBM Web Administration for i.
That said, I am trying to create a REST API written in RPGLE that will
return JSON data. I have looked at a lot of examples but just can't find
what I am after.
This needs to be modeled after some existing C#.Net REST APIs so the
following requirements are not negotiable.
The request needs to be a POST type.
The body of the POST request needs to have two "fields".
1) Input - An SQL statement that will be used to retrieve the data.
2) Output - The results of the SQL. These results can be anything so the
fields can't be predefined in the RPGLE program's parameters like they are
in all of the examples that I find. There can also be multiple records so
it would end up having an array in the results. I think I need a single
"results" field that is pretty big and I will need to manually build the
JSON for it.
I tried creating a new HTTP server and deploying a service to it. I have
been successful using Scott's customer lookup as a model and I have been
able to do a few different things to experiment. However, I can't figure
out how to handle the POST body for input or the array results in the
output.
One attempt was to create the following:
dcl-pi *n;
sql char(5000);
resultSet char(50000);
end-pi;
The problem was that I got back a value in the resultSet that was really
junked up JSON because it escaped all of the " as \". I considered trying
to make the resultSet value return as plain text instead of JSON (I'm
assuming I can do that somehow) but I decided before I went too far down
the
wrong rabbit hole, I would ask for help.
Can someone help point me in a good direction? I don't mind doing a lot of
web digging, I just don't really know what I need to search for to do the
digging.
Thanks.
--
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing
list
To post a message email: WEB400@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/web400.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.