I confirm version 6.23.0 fixed the problem.

Thank you for the great support!

Kind regards,
Fabio

On Thu, Apr 28, 2016 at 12:02 PM, Fabio Fioretti <
windom.macroso...@gmail.com> wrote:

> Thanks Andrea, that would be excellent!
>
> Keep up the great work,
> Fabio
>
> On Thu, Apr 28, 2016 at 11:52 AM, Andrea Del Bene <an.delb...@gmail.com>
> wrote:
>
>> Thank you for the issue! I think we can make it for next release 6.23.0
>> which should come quite soon (at the moment we are voting to release Wicket
>> 6.23.0).
>>
>> Andrea.
>>
>>
>> On 28/04/2016 11:34, Fabio Fioretti wrote:
>>
>>> Done: https://github.com/wicketstuff/core/issues/490
>>>
>>> Many thanks,
>>> Fabio
>>>
>>> On Thu, Apr 28, 2016 at 11:03 AM, Martin Grigorov <
>>> martin.grigo...@gmail.com
>>>
>>>> wrote:
>>>> Please file an issue at Wicketstuff GibHub.
>>>> On Apr 28, 2016 10:31 AM, "Fabio Fioretti" <windom.macroso...@gmail.com
>>>> >
>>>> wrote:
>>>>
>>>> Hi Martin,
>>>>>
>>>>> Thanks, I agree - findOffices() shouldn't be executed at all. In fact,
>>>>> handleMethodExecution() returns before invoking application code in all
>>>>> other cases (step 1 for unauthorized access, step 3 for validation
>>>>>
>>>> errors).
>>>>
>>>>> Any chance to have it fixed relatively soon? (maybe Andrea can answer
>>>>>
>>>> this)
>>>>
>>>>> Kind regards,
>>>>> Fabio
>>>>>
>>>>> On Thu, Apr 28, 2016 at 6:44 AM, Martin Grigorov <mgrigo...@apache.org
>>>>> >
>>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> On Wed, Apr 27, 2016 at 12:07 PM, Fabio Fioretti <
>>>>>> windom.macroso...@gmail.com> wrote:
>>>>>>
>>>>>> Hi all,
>>>>>>>
>>>>>>> Please consider the following simple implementation of
>>>>>>>
>>>>>> AbstractRestResource
>>>>>>
>>>>>>> (6.22.0):
>>>>>>>
>>>>>>> @ResourcePath("/rest/api")
>>>>>>> public class MyRestResource extends
>>>>>>> AbstractRestResource<JsonWebSerialDeserial>
>>>>>>> {
>>>>>>>
>>>>>>>   public MyRestResource ()
>>>>>>>   {
>>>>>>>    super(new JsonWebSerialDeserial(new GsonObjectSerialDeserial()));
>>>>>>>   }
>>>>>>>
>>>>>>>   @MethodMapping(value = "/offices")
>>>>>>>   public List<Office> findOffices(
>>>>>>>     @RequestParam(value = "region", required = false) Integer
>>>>>>>
>>>>>> regionId)
>>>>
>>>>>   {
>>>>>>>    return findOfficesByRegion(regionId);
>>>>>>>   }
>>>>>>> }
>>>>>>>
>>>>>>> My question relates to the findOffices method and its filtering
>>>>>>>
>>>>>> regionId
>>>>>
>>>>>> parameter when the value is not a valid integer. For example,
>>>>>>>
>>>>>> consider
>>>>
>>>>> the
>>>>>>
>>>>>>> request 'GET /rest/api/offices?region=AA'.
>>>>>>>
>>>>>>> At the second step of AbstractRestResource.handleMethodExecution,
>>>>>>> extractMethodParameters is invoked, which in turn triggers the
>>>>>>>
>>>>>> conversion
>>>>>
>>>>>> of all parameters through the static method toObject.
>>>>>>>
>>>>>>> When the conversion goes wrong and ConversionException is thrown,
>>>>>>>
>>>>>> toObject
>>>>>>
>>>>>>> catches it, sets the response status to 400 and returns null!
>>>>>>>
>>>>>>> Now, when my findOffices is finally executed, I get a null regionId
>>>>>>>
>>>>>> but I
>>>>>
>>>>>> don't know whether it was not valid or the parameter was not present
>>>>>>>
>>>>>> at
>>>>
>>>>> all. Checking the response status downstream is also particularly
>>>>>>>
>>>>>> hard
>>>>
>>>>> because I have no getStatus (Tomcat 6 here, ouch!).
>>>>>>>
>>>>>>> To my mind, findOffices should return null instead of the unfiltered
>>>>>>>
>>>>>> list
>>>>>
>>>>>> of offices if the conversion went wrong, even because the response
>>>>>>> status is 400 (as set by toObject). However, how can I know it?
>>>>>>>
>>>>>>> Any suggestions?
>>>>>>>
>>>>>>> IMO this is a bug in the library.
>>>>>> #findOffices() should not be executed at all.
>>>>>> A response with status code 400 should be returned immediately after
>>>>>>
>>>>> the
>>>>
>>>>> unsuccessful convention without giving a chance to the application code
>>>>>>
>>>>> to
>>>>>
>>>>>> be executed.
>>>>>>
>>>>>> Many thanks,
>>>>>>> Fabio
>>>>>>>
>>>>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>

Reply via email to