Re: IWS and input parameters...

"Nadir Amra" <amra-r/[email protected]>
Newsgroups gmane.comp.systems.as400.web
Message-ID <OF84149EA2.9BCA9E30-ON0025863F.0018312E-8625863F.00197820@notes.na.collabserv.com>
There  are articles part 1-3[1] that will help you.  The convention is for 
POST  to create  a resource, POST  to update a resource, GET to retrieve, 
and  DELETE to delete. 

But you can do anything you want. 

If you want to use GET, you  would have   to pass  the data  as query 
string.


[1] https://developer.ibm.com/tutorials/i-rest-web-services-server1/

"WEB400" <[email protected]> wrote on 12/14/2020 10:20:15 
PM:

> From: Robert Rogerson <[email protected]>
> To: "Web Enabling the IBM i (AS/400 and iSeries)" 
<[email protected]>
> Date: 12/14/2020 10:20 PM
> Subject: [EXTERNAL] Re: [WEB400] IWS and input parameters...
> Sent by: "WEB400" <[email protected]>
> 
> I'm new to this so I'm trying to understand.
> If I want to return rows, normally I would use a GET.  But since one of 
my
> input parameters is a structure I'm forced to either use a POST or a 
PUT.
> So I'm sort of forced out of the convention that GET is to read records,
> POST is to create records and PUT is to update records.
> So it's ok to do a POST only to read records?
> 
> Is there anyone else using IWS from an RPG perspective that has found or
> could share some useful information?
> 
> Thanks,
> 
> Rob
> 
> On Mon, Dec 14, 2020 at 10:37 PM Nadir Amra <amra-r/[email protected]> wrote:
> 
> > the suffix _LENGTH must be   capital because that  is what  IWS 
currently
> > looks for.  It should not matter because it is not part  of payload.
> >
> > If you have a structure that is an input parameters, then the  HTTP 
method
> > is POST  or PUT.
> >
> > Other  than  what we have  for  doc on  web site,  and  articles, that 
 is
> > all the doc there  is.   We are in  process of updating the  doc.
> >
> >
> >
> >
> > "WEB400" <[email protected]> wrote on 12/14/2020 
05:52:33
> > PM:
> >
> > > From: Robert Rogerson <[email protected]>
> > > To: "Web Enabling the IBM i (AS/400 and iSeries)"
> > <[email protected]>
> > > Date: 12/14/2020 05:52 PM
> > > Subject: [EXTERNAL] Re: [WEB400] IWS and input parameters...
> > > Sent by: "WEB400" <[email protected]>
> > >
> > > @Nadir, your assumption is correct, pFilterDs is indeed input.  So 
you
> > are
> > > saying that I can have a data structure as input?
> > >
> > > Why must the "_lenght" be in upper case.  I've never seen nor 
understand
> > > this requirement.
> > >
> > > Thanks,
> > >
> > > Rob
> > >
> > > On Mon, Dec 14, 2020 at 3:25 PM Nadir Amra <amra-r/[email protected]> wrote:
> > >
> > > > Which  parameters are  input  and  which output?
> > > >
> > > > And  "_length" suffix  should  be  "_LENGTH"
> > > >
> > > > Assuming  pFilterDs is  input,  you may  want  to  define a length
> > field
> > > > for it as well so that  you  know  how many  entries  are being 
passed
> > in.
> > > >
> > > >
> > > > "WEB400" <[email protected]> wrote on 12/14/2020
> > 08:24:21
> > > > AM:
> > > >
> > > > > From: Robert Rogerson <[email protected]>
> > > > > To: "Web Enabling the IBM i (AS/400 and iSeries)"
> > > > <[email protected]>
> > > > > Date: 12/14/2020 08:24 AM
> > > > > Subject: [EXTERNAL] [WEB400] IWS and input parameters...
> > > > > Sent by: "WEB400" <[email protected]>
> > > > >
> > > > > I want to have a filter(s) for my api.
> > > > > An individual filter is defined as
> > > > >
> > > > > dcl-ds filterTmp template qualified;
> > > > >   type char(20);
> > > > >   value char(20);
> > > > > end-ds;
> > > > >
> > > > > But there may be multiple occurrences of filter.  For example,
> > > > >
> > > > > 'Warehouse': '95,96,97'
> > > > > 'Type':'Shipments'
> > > > > 'DateRange': 'LastWeek'
> > > > >
> > > > > I was hoping to do something like
> > > > > dcl-pi *n;
> > > > >   pFilterDs likeds(filterTmp) dim(10) const;
> > > > >   transactionDs_length int(10);
> > > > >   transactionsDs likeds(transactionsTmp) dim(1000);
> > > > >   httpStatus like(httpStatusTmp);
> > > > >   httpHeaders like(httpHeadersTmp) dim(10);
> > > > > end-pi;
> > > > >
> > > > > But when I try this on Step 5 of 9 on the Deploy New Service 
Wizard
> > I
> > > > get
> > > > > error
> > > > > *Error:* ZUI_54411: The HTTP method must be PUT or POST when 
there
> > is an
> > > > > input parameter that is not being injected with a value.
> > > > >
> > > > > How should I be doing this?
> >
> >


-- 
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/web400
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/web400.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.