----- Original Message -----
From: "Lucas Holmquist" <lholmqui(a)redhat.com>
To: "AeroGear Developer Mailing List" <aerogear-dev(a)lists.jboss.org>
Cc: "Vineet Reynolds Pereira" <vpereira(a)redhat.com>
Sent: Tuesday, December 17, 2013 12:53:25 AM
Subject: Re: [aerogear-dev] Aerogear.js for CRUD
On Dec 16, 2013, at 1:52 PM, Burr Sutter <bsutter(a)redhat.com> wrote:
> Adding Vineet as he has spent time on the Forge REST scaffolding.
>
> On Dec 16, 2013, at 7:01 AM, Sebastien Blanc <scm.blanc(a)gmail.com> wrote:
>
>> Burr,
>> I've added some logs statements on the client and basically it seems it
>> can not parse the response from the server :
>>
>> I/Web Console( 1386): textStatus: parsererror at
>> file:///android_asset/www/js/index.js:103
>> I/Web Console( 1386): error: SyntaxError: Unexpected end of input at
>> file:///android_asset/www/js/index.js:104
>>
>> If I do a CURL like this :
>> curl -v -b cookies.txt -c cookies.txt -H "Accept: application/json"
-H
>> "Content-type: application/json" -X POST -d
>>
'{"phoneNumber":"1234567890","email":"newTest@test.com","name":"newTest"}'
>>
http://agmobile-html5.rhcloud.com/rest/forge/members
>>
> I should have pointed to the sources to the REST endpoint:
>
https://github.com/burrsutter/agmobile/blob/master/src/main/java/com/burr...
> This was generated by Forge as I am too lazy to type up a full CRUD REST
> endpoint myself :-)
>
>> I got an correct answer but the content type is 'text/plain' , please
>> check your rest endpoint to be sure it's producing json as output, that
>> should solve your issue.
> It says
> @POST
> @Consumes("application/json")
>
needs a @Produces("application/json")
I'm not sure that will help. The response is a HTTP 201 with a Location header.
Is the client expecting an entity of type application/json in the response ?
If yes, then the method should look like:
@POST
@Consumes("application/json")
public Response create(MemberDTO dto)
{
Member entity = dto.fromDTO(null, em);
em.persist(entity);
return
Response.created(UriBuilder.fromResource(MemberEndpoint.class).path(String.valueOf(entity.getId())).build()).entity(entity).build();
}
I've added : .entity(entity) in the above method to populate the response with the
entity.
>
>>
>> Could you also paste the commands you used in Forge to scaffold the REST
>> endpoints so that we can check there hasn't been an incompatibility
>> introduced ?
> I just used the Forge Wizard that is built into JBDS/Tools
>
http://screencast.com/t/QrKkCoFZMUn
>
> error.status is 201
> error.responseText is blank
>
>>
>>
>>
>>
>> On Sat, Dec 14, 2013 at 6:06 PM, Burr Sutter <bsutter(a)redhat.com> wrote:
>> I am having a problem with pipe.save(), likely user error :-)
>>
>> For some reason, the POST is occurring, the save seems to work but the
>> error callback is invoked, not the success method.
>>
>> And I am doing all of this in the context of our tooling which has some
>> limitations (auto-closing console/firebug lite)
>>
>>
http://screencast.com/t/gosd7Qnhz
>>
>> REST endpoint:
>>
http://agmobile-html5.rhcloud.com/rest/forge/members
>> Use of Forge, with the Member.java entity to offer full CRUD capabilities
>>
>> Sources:
>>
https://github.com/burrsutter/AGContacts/blob/master/www/js/index.js
>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-dev