Thanks Johan - that link looks very helpful.

On 30 July 2017 at 02:21, Johan Brichau <jo...@inceptive.be> wrote:

> The Seaside book REST chapter should be deprecated or changed.
>
> Take a look here for the updated info: https://github.com/
> SeasideSt/Seaside/wiki/Seaside-REST
>
> Johan
>
>
> On 30 Jul 2017, at 01:46, Greg Hutchinson <the.greg.hutchin...@gmail.com>
> wrote:
>
> That worked - thanks very much.
>
> On 29 July 2017 at 16:13, Esteban A. Maringolo <emaring...@gmail.com>
> wrote:
>
>> Did you try setting the pragma <path: '/'> in the list method?
>> Esteban A. Maringolo
>>
>>
>> 2017-07-28 18:40 GMT-03:00 Greg Hutchinson <the.greg.hutchin...@gmail.com
>> >:
>> > I am new to Pharo/Seaside and it has been a long time since I have used
>> > Smalltalk. I am trying to make a RESTful service and can’t get the
>> pragmas
>> > to work the way I think it should. (This might be the problem already).
>> >
>> >
>> >
>> >  Ie Here is my list method within class TeamMembers which is a direct
>> > subclass of WARestfulHandler.
>> >
>> >     list
>> >
>> >        <get>
>> >
>> >       ^ String streamContents: [ :stream |
>> >
>> >        self teamMembers do: [ :each |
>> >
>> >            stream nextPutAll: each ; crlf ]
>> >
>> >        ]
>> >
>> >
>> >
>> > and
>> >
>> >
>> >
>> > listJson
>> >
>> >                 <get>
>> >
>> >                 <produces: 'text/json'>
>> >
>> >
>> >
>> >    ^ (Array streamContents: [ :stream |
>> >
>> >       self teamMembers do: [ :each |
>> >
>> >          stream nextPut: (Dictionary new
>> >
>> >             at: 'name' put: each ;
>> >
>> >             yourself) ] ])
>> >
>> >       asJavascript
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > After doing all the proper registration WAAdmin register: TeamMembers
>> at:
>> > 'team-members' when I execute in the browser
>> > (http://localhost:8080/team-members) I received the message
>> >
>> > /team-members not found
>> > but if I execute (http://localhost:8080/team-members/list), it brings
>> back
>> > the team member list. (However, I didn’t think I would have to add
>> /list to
>> > the URL).
>> >
>> >
>> >
>> > This seems to contradict the documentation in
>> > http://book.seaside.st/book/advanced/restful/getting-started
>> /define-handler.
>> >
>> >
>> >
>> >
>> >
>> > However, If I override the TeamMembers>>
>> >
>> > createRoutes
>> >
>> >                 | route pType|
>> >
>> >                 pType := WAFullMimeTypeMatch main:'text' sub: 'json' .
>> >
>> >                 route := WASimpleRoute method: 'GET' selector: #listJson
>> > produces: pType consumes: WAWildcardMimeTypeMatch new.
>> >
>> >                 ^ OrderedCollection new
>> >
>> >                                 "GET"
>> >
>> >                                 add: route;
>> >
>> >                                 add: (WARoute get: #list);
>> >
>> >                                 yourself.
>> >
>> >
>> >
>> > Then I get the expected behaviour when I browse to
>> > (http://localhost:8080/team-members) and using curl. (ie.
>> >
>> > curl -H "Accept: text/json" http://localhost:8080/team-members
>> >
>> > to get the Json response.
>> >
>> >
>> >
>> > When I debug the difference in the routes, it looks like using the
>> pragmas,
>> > I get WAComplexRoute(s) but of course in the overridden method
>> createRoutes,
>> > I get WASimpleRoutes.
>> >
>> >
>> >
>> > Is this the way it is supposed to work?
>> >
>> >
>> >
>> >
>> >
>> > Thanks in advance for any hints.
>> >
>>
>>
>
>
> --
>
>
>


--

Reply via email to