On Apr 30, 2009, at 6:06 PM, Rabick, Mark A (IS) wrote:
> How would you document that in an extended wadl doclet?
>
> /**
> * Delete a Node with the given SK.
> *
> * @param sk The Node SK value.
> *
> * @response.representation.204.doc The status code No Content
> (204) on successful delete.
> */
>
> Or
>
> /**
> * Delete a Node with the given SK.
> *
> * @param sk The Node SK value.
> *
> * @return 204 (No Content).
> */
>
> Neither really seems appropriate on a method with return type void....
> Suggestions?
>
The use of @response seems appropriate to me as that is referring to
the HTTP response.
Paul.
> -mark
> _______________________________________________
> Mark A. Rabick - Software Engineer
> Em: mark.rabick_at_ngc.com
>
>
>
>> -----Original Message-----
>> From: Paul.Sandoz_at_Sun.COM [mailto:Paul.Sandoz_at_Sun.COM]
>> Sent: Thursday, April 30, 2009 10:39 AM
>> To: users_at_jersey.dev.java.net
>> Subject: Re: [Jersey] DELETE Response status code...
>>
>> Hi Mark,
>>
>> On Apr 30, 2009, at 5:33 PM, Rabick, Mark A (IS) wrote:
>>
>>> What is the best choice for an HTTP response status code for the
>>> successful deletion of a 'resource'? I have a DELETE method:
>>>
>>> @DELETE @Path("{sk: [a-zA-Z0-9 ]{1,32}}")
>>> public synchronized Response
>>> deleteNodeBySk(@PathParam("nodesk") String nodeSk) {
>>>
>>> Response resp = null;
>>>
>>> Node nodeToDelete = new Node(nodeSk);
>>> nodeRemote.delete(nodeToDelete);
>>> /*
>>> * Response Status code is 204 (No Content)
>>> */
>>> resp = Response.noContent().entity(null).build();
>>> System.out.println("Deleted sk: " + nodeSk);
>>>
>>> return resp;
>>> }
>>>
>>> I've looked at the examples and mostly see delete methods returning
>>> 'void'. The method is synchronous above so the delete should be
>>> complete before the method returns. Is the 204 (No Content)
>>> appropriate or would a 205 (reset content) or 200 (ok)?
>>>
>>
>> A 204, if you are not sending a response entity:
>>
>> @DELETE @Path("{sk: [a-zA-Z0-9 ]{1,32}}")
>> public synchronized void deleteNodeBySk(@PathParam("nodesk")
>> String nodeSk) {
>>
>> Response resp = null;
>>
>> Node nodeToDelete = new Node(nodeSk);
>> nodeRemote.delete(nodeToDelete);
>> }
>>
>>
>> A void results in a 204 response, assuming that no exception
>> is thrown.
>>
>>
>>> I've seen a couple of different examples for each on 'the net'.
>>>
>>> The other question I have is on a 'create' method (@POST).
>> I want to
>>> return both the URI for the newly created entity as well as
>> return the
>>> created entity itself in the message body. Would the URL go in the
>>> Location header? If so, how is that accomplished?
>>>
>>
>> URI u = ...
>>
>> Response.created(u)...
>>
>> https://jsr311.dev.java.net/nonav/javadoc/javax/ws/rs/core/
>> Response.html#created(java.net.URI)
>>
>> Paul.
>>> --mark
>>>
>>> _______________________________________________
>>> Mark A. Rabick
>>> Software Engineer
>>> Northrop Grumman - Integrated Mission Systems (IS/DSD/IMS)
>> 3200 Samson
>>> Way Bellevue, NE 68123
>>> Ph: (402) 293-7091
>>> Em: mark.rabick_at_ngc.com
>>> Remember PFC Ross A. McGinnis...
>>> http://www.army.mil/medalofhonor/McGinnis/index.html
>>> ... MA2 Michael A. Monsoor, Lt. Michael P. Murphy, Cpl.
>> Jason Dunham,
>>> SFC Paul Ray Smith and the rest...
>>> http://www.cmohs.org/recipients/most_recent.htm
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
>> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>