I actually did like ERRest, but directly in my DirectAction public WOActionResults statusAsJsonAction() { //assuming dict exists ERXRestRequestNode restResponseNode = null; ERXRouteResults results = null; try { ERXRestContext context = new ERXRestContext(); restResponseNode = ERXRestRequestNode.requestNodeWithObjectAndFilter(dict, ERXKeyFilter.filterWithAll(), context); results = new ERXRouteResults(context(), context, ERXRestFormat.json(), restResponseNode); } catch (Exception e) { // TODO: handle exception System.out.println(e); } return results;
I should get a better handling for the exceptions though;) Xavier > On 16 Apr 2020, at 21:22, Jesse Tayler <jtay...@oeinc.com> wrote: > > What I think you want is a DA to return JSON, perhaps like this: > > > public WOResponse responseForPoint(DataPoint point) { > ERXKeyFilter filter = DataPointController.showFilter(); > String json = ERXRestFormat.json().toString(point, filter); > WOResponse aResponse = new WOResponse(); > aResponse.appendContentString(json); > return aResponse; > } > > > >> On Apr 16, 2020, at 3:03 PM, Dev WO <webobje...@anazys.com> wrote: >> >> I cannot really say it is solved based on the subject of the thread, but >> regarding what I was actually trying to do, it is solved. >> I picked up just what was needed to generate the Json response in my >> DirectAction class so I could keep what I was using the generate the url. >> >> Thanks anyway, it gave me some time to look at ERRest:) >> >> Xavier >> >> >> >> >>> On 16 Apr 2020, at 20:31, Dev WO via Webobjects-dev >>> <webobjects-dev@lists.apple.com> wrote: >>> >>> I was just looking at making a DirectAction to get a NSDict as a json >>> output actually. >>> >>> Searching for that it looked like ERRest was the answer, but maybe I should >>> just “borrow” the method that actually generate the son response and stick >>> with the regular DirectAction… >>> >>> Xavier >>> >>> >>>> On 16 Apr 2020, at 20:11, Jesse Tayler <jtay...@oeinc.com> wrote: >>>> >>>> I might be confused >>>> >>>> Not sure this is the right API for what you want since this API is for a >>>> specific page or object ID? >>>> >>>> ra/Vote/2343.html >>>> >>>> or >>>> >>>> ra/User/jtayler.html >>>> >>>> Is what I might expect >>>> >>>> Those routes are HTML and either need default HTML or a static view page >>>> for that entity that accepts an object to inspect. >>>> >>>> Are you looking to invoke a list page? >>>> >>>> This is a list with params and basically an apache rule redirects the URL >>>> into the longer version and my app intercepts link URL requests and >>>> exchanges links on production that are shorter. >>>> >>>> http://planaby.com/event/nearby.html?distance=30.0&lat=40.7450127906344&lon=-73.9771424224899 >>>> >>>> or >>>> >>>> http://planaby.com/person/1.html >>>> >>>> Is just a simple ERRest route url translated by apache so it looks shorter >>>> in production >>>> >>>> Maybe that helps >>>> >>>> >>>> >>>> >>>>> On Apr 16, 2020, at 1:45 PM, Dev WO <webobje...@anazys.com> wrote: >>>>> >>>>> Hi Jesse, >>>>> >>>>> Thanks for the pointer, that does look better, but I don’t understand 2 >>>>> things: >>>>> The method I have is >>>>> actionUrlForEntity(WOContext context, String entityName, Object entityID, >>>>> String action, String format, NSDictionary<String, Object> >>>>> queryParameters, boolean secure, boolean includeSessionID) >>>>> I’m doing “ERXRouteUrlUtils.actionUrlForEntity(context(), "Status", null, >>>>> null, null, restDict, false, false)" >>>>> >>>>> I’m expecting a url like >>>>> ''/cgi-bin/WebObjects/CloudManager.woa/ra/Status?type=heat” >>>>> but I get >>>>> "/cgi-bin/WebObjects/CloudManager.woa/ra/statuses.html?type=heat” >>>>> I don’t really get why I got “statuses.html” instead of “Status” (the >>>>> capital S and the plural+.html). >>>>> >>>>> Looking at the source, it seems whatever I choose as “format”, I’ll get a >>>>> “.something” appended, but the response is still ok if I do >>>>> '/cgi-bin/WebObjects/CloudManager.woa/ra/Status.json?type=heat” so that’s >>>>> not an issue. >>>>> >>>>> But the capital S and the plural do break my call, any idea about this? >>>>> >>>>> Thanks, hope everything is as good as it could be in NYC, >>>>> >>>>> Xavier >>>>> >>>>> >>>>>> On 16 Apr 2020, at 18:49, Jesse Tayler <jtay...@oeinc.com> wrote: >>>>>> >>>>>> >>>>>> If you want to generate an action URL, I think you’ll want this API >>>>>> >>>>>> String link = ERXRouteUrlUtils.actionUrlForEntity(context, entityName, >>>>>> entityID, action, format, queryParameters, secure, includeSessionID); >>>>>> >>>>>> >>>>>> >>>>>>> On Apr 16, 2020, at 12:42 PM, Dev WO via Webobjects-dev >>>>>>> <webobjects-dev@lists.apple.com> wrote: >>>>>>> >>>>>>> Hi everyone, >>>>>>> >>>>>>> I’m currently trying a few things with ERRest. >>>>>>> In a stateless component, I need to create some urls manually (they >>>>>>> will be used inside a script element). >>>>>>> When I was calling my DirectAction class, I was just doing this: >>>>>>> >>>>>>> context().generateRelativeURLs(); >>>>>>> NSMutableDictionary<String, String> dict = new >>>>>>> NSMutableDictionary<String, String>(); >>>>>>> ... >>>>>>> dict.put(key, value); >>>>>>> ... >>>>>>> String relativeUrl = context()._directActionURL(“myDirectAction", dict, >>>>>>> false); >>>>>>> >>>>>>> >>>>>>> But I wasn’t able to find out the equivalent _directActionURL() method >>>>>>> to generate the Rest (with /ra) URL. >>>>>>> >>>>>>> How would you manually generate a relative URL for an ERRest request? >>>>>>> >>>>>>> Thanks a lot and stay safe, >>>>>>> >>>>>>> Xavier >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>> https://lists.apple.com/mailman/options/webobjects-dev/jtayler%40oeinc.com >>>>>>> >>>>>>> This email sent to jtay...@oeinc.com >>>>>> >>>>>> >>>>> >>>> >>>> >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/webobjects-dev/webobjects%40anazys.com >>> >>> This email sent to webobje...@anazys.com >> > >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com