--- Begin Message ---
Thanks Sven.
I will try it.

On 02/01/2017 23:49, Sven Van Caekenberghe wrote:
>> On 2 Jan 2017, at 20:42, Asbath Sama biyalou <asamabiya...@yahoo.com> wrote:
>>
>> Thanks Sven.
>>
>> That is fine. According to your answer this is not a problem of
>> implementation of rest methods.
> Indeed.
>
>> But It is a problem of client.
> Yes.
>
>> Then Have you an idea on how to do that client on Android?
> I am afraid not.
>
> The chapter of the Pharo Enterprise book that I gave contains examples of how 
> to do it using curl, which is a *nix command line http client. From there you 
> should be able to find your way. Good luck, it should not be too hard.
>
>> 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 ---

Reply via email to