• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Newbie question about ERRest
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Newbie question about ERRest


  • Subject: Re: Newbie question about ERRest
  • From: Pascal Robert <email@hidden>
  • Date: Fri, 02 Sep 2011 09:38:56 -0400

Le 2011-09-02 à 09:28, Philippe Rabier a écrit :

> Thanks Pascal but we are still a little bit confused.
>
> I answer the last Q first which is simple: it was not the idea to pass the username and password as in your WOWODC slide. I thought about the login value like
> www.wocommunity.org/ra/user/probert if probert is your login. But not sure it's a good option to do that.

Everything is an option :-) It mainly depends what you have at the client side, eg if you don't know the primary key of a User, well it would be hard to fetch that based on the primary key :-)

> Regarding the uid, so I should write (based on the ERRestExample) something like that:
> Project project()
> {
>  String uid = routeObjectForKey("uid");
>  Project aProject = Project.fetchProject(editingContext, Project.UID.eq(uid));
>  return aProject;
> }
>
> Is that right?

That's right, and you call project() in showAction().

> So by convention and I should say, "the default implementation", everything has been designed to get object based on their primary key, isn't it?

Exact.

> Philippe
>
> On 2 sept. 2011, at 14:59, Pascal Robert wrote:
>
>>
>> Le 2011-09-02 à 08:49, Philippe Rabier a écrit :
>>
>>> Hi all,
>>>
>>> We are starting using ERRest in our team and I have a first question:
>>>
>>> The default way to get an object (in our case a Project) is :
>>> GET /ra/Project/id
>>>
>>> But suppose we have our own globalUID that is not the primary key or if we want to use something else (for example login for a user as we suppose the login is unique), how can we achieve that?
>>
>> You need to add routes in the request handler, something like this:
>>
>> routeRequestHandler.addRoute(new ERXRoute(Project.ENTITY_NAME, "/Project/{uid:String}", ERXRoute.Method.GET, ProjectController.class));
>>
>> And in your controller:
>>
>> String uid = routeObjectForKey("uid");
>> Project aProject = Project.fetchProject(editingContext, Project.UID.eq(uid));
>>
>>> We look at the ERRestExample source and we saw in the PersonController class, method Person():
>>> person= routeObjectForKey("Person");
>>>
>>> So the fetch must be handled by routeObjectForKey, I guess… and we have to change something around.
>>>
>>> Other philosophical question about Rest: does it make sense to get a person with their login? I'm more confident with the globalUID if we don't want to expose the primary key.
>>
>> What do you mean with their "login"? By passing the username and password to a route?
>>
>>
>>
>

 _______________________________________________
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

References: 
 >Newbie question about ERRest (From: Philippe Rabier <email@hidden>)
 >Re: Newbie question about ERRest (From: Pascal Robert <email@hidden>)
 >Re: Newbie question about ERRest (From: Philippe Rabier <email@hidden>)

  • Prev by Date: Re: Newbie question about ERRest
  • Next by Date: Re: ERXBatchingDisplayGroup
  • Previous by thread: Re: Newbie question about ERRest
  • Next by thread: Re: Newbie question about ERRest
  • Index(es):
    • Date
    • Thread