Re: [ERRest] - Manually generating rest URL
Re: [ERRest] - Manually generating rest URL
- Subject: Re: [ERRest] - Manually generating rest URL
- From: Jesse Tayler via Webobjects-dev <email@hidden>
- Date: Thu, 16 Apr 2020 15:22:19 -0400
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 <email@hidden> 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
>> <email@hidden> 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 <email@hidden> 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 <email@hidden> 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 <email@hidden> 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
>>>>>> <email@hidden> 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 (email@hidden)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>>
>>>>>> This email sent to email@hidden
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden