--- Begin Message ---Thanks Sven. That is fine. According to your answer this is not a problem of implementation of rest methods.But It is a problem of client. Then Have you an idea on how to do that client on Android? Cheers Asbath On 02/01/2017 18:57, Sven Van Caekenberghe wrote: > Hi Asbath, > > From what I can see in the code included in the email, you wrote a POST > handler that expects/accepts JSON, while the client call sends a > application/x-www-form-urlencoded payload. > > You need to send JSON data. The following creates a client that sends and > expects JSON. > > ZnClient new > url: 'http://localhost:8888/test'l; > accept: ZnMimeType applicationJson; > contentReader: [ :entity | entity ifNotNil: [ NeoJSONReader fromString: > entity contents ] ]; > contentWriter: [ :object | ZnEntity with: (NeoJSONWriter toString: object) > type: ZnMimeType applicationJson ]. > > To send data along, you can just pass it using #contents: > > client contents: { #username->'john'. #password->'secret } asDictionary. > > The #contentWriter will do the conversion. Finally, you execute using #get, > #put, #post or #delete. You could also use any object that has a > #neoJsonMapping. > > Have a look at section 11.3 in > https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/Zinc-HTTP-Server/Zinc-HTTP-Server.html > as well as the whole chapter. > > HTH, > > Sven > >> On 2 Jan 2017, at 18:41, Asbath Sama biyalou via Pharo-users >> <pharo-users@lists.pharo.org> wrote: >> >> >> From: Asbath Sama biyalou <asamabiya...@yahoo.com> >> Subject: Rest post methods >> Date: 2 January 2017 at 18:41:30 GMT+1 >> To: Pharo users users <pharo-users@lists.pharo.org> >> >> >> Hello Everybody. >> I am implementing an architecture of rest services like in TinyBlog >> tutorial. Now I want to implement post >> methods. But it doesn't work. My >> execute function >> execute >> | user u | >> >> [ >> user := NeoJSONReader fromString: self context request rawBody. >> u := User new pseudo: (user at: #pseudo); >> numero_telephone: (user at: #numero_telephone). >> user save. >> ] on: Error do: [ self context request badRequest ]. >> self dataType: WAMimeType textPlain with: '' >> >> neojsonmapping on class User >> >> neoJsonMapping: mapper >> mapper for: self do: [ :mapping | mapping mapAllInstVars ] >> >> The restfilter consumes */json. >> >> I test it with ZnClient but that is not working. >> ZnClient new >> url: 'http://localhost:8080/Application/users/add'; >> formAt: 'pseudo' put: 'Big man'; >> formAt: 'numero_telephone' put: '99546321'; >> post. >> >> I don't know what is the matter. >> >> Thanks. >> >> Asbath >> >> >> >>
--- End Message ---
Re: [Pharo-users] Rest post methods
Asbath Sama biyalou via Pharo-users Mon, 02 Jan 2017 14:10:28 -0800
- [Pharo-users] Rest post methods Asbath Sama biyalou via Pharo-users
- Re: [Pharo-users] Rest post metho... Sven Van Caekenberghe
- Re: [Pharo-users] Rest post m... Asbath Sama biyalou via Pharo-users
- Re: [Pharo-users] Rest post m... Sven Van Caekenberghe
- Re: [Pharo-users] Rest po... Asbath Sama biyalou via Pharo-users