Thanks, I will try with that.
W dniu piątek, 10 kwietnia 2015 14:19:31 UTC+2 użytkownik Jan Henning
Thorsen napisał:
>
> I'm doing this:
>
> $self->hook(
> before_render => sub {
> return unless $_[0]->accepts('json');
> my ($c, $args) = @_;
> my $template = $args->{template} || '';
>
> if ($template =~ /^not_found/) {
> $args->{json} = {errors => [{path => '/', message => 'Resource not
> found.'}]};
> }
> elsif ($template =~ /^exception/) {
> $args->{json} = {errors => [{path => '/', message =>
> $args->{exception} || 'Unknown error.'}]};
> }
> }
> );
>
> Have a look here for more details:
>
> https://metacpan.org/pod/distribution/Mojolicious/lib/Mojolicious/Guides/Rendering.pod#Rendering-exception-and-not_found-pages
>
> On Friday, April 10, 2015 at 2:07:28 PM UTC+2, njzt wrote:
>>
>> I have quite similar case in my JSON REST app. Using Mojolicious 5 I was
>> overriding render_exception and render_not_found in my main Controller
>> class. Here is a short version:
>>
>> package MyApp::Controller;
>> use Mojo::Base 'Mojolicious::Controller';
>>
>> # overwritten methods of Mojolicious::Controller
>> sub render_not_found {
>> $c->respond(404)
>> }
>> sub render_exception {
>> # 1. store & send information about error
>> # 2. switch to special statuses eg. 408 & 503
>> # 3. provide more details to json_data_response
>> $c->respond($status)
>> }
>>
>> sub render_not_authorized {
>> # prepare json_data_response of failed authorization
>> $c->respond(403)
>> }
>>
>>
>> # common method to standarize output for different statuses & formats
>> sub respond {
>> # ...
>> $c->respond_to(
>> json => sub { # 99% requests are json
>> $c->render(json => $c->json_data_response)
>> },
>> html => sub {
>> given ($status) {
>> when (404) { $c->SUPER::render_not_found() }
>> when (500) { $c->SUPER::render_exception() }
>> # more eg. 403, 400
>> }
>> }
>> )
>> }
>>
>> Do you have any suggestion how can I easily migrate such solution to
>> Mojolicious 6 where render_exception and render_not_found are no longer
>> supported. I was thinking of overriding reply.exception and reply.not_found
>> helpers. Any other ideas?
>>
>> W dniu czwartek, 21 kwietnia 2011 08:32:26 UTC+2 użytkownik oleber
>> napisał:
>>>
>>> Hy all
>>>
>>> I'm using Mojolicious for my JSON web-service. In the Documentation I
>>> found the solution for returning customized HTML error page in one of
>>> exception and not found, but since my application has a JSON
>>> interface, I would like to return some customized JSON on this cases.
>>>
>>> How do I do this?
>>>
>>> Thanks for any help
>>>
>>> Best Regards
>>> Marcos
>>>
>>> --
>>> Marcos Rebelo
>>> http://www.oleber.com/
>>> Milan Perl Mongers leader
>>> https://sites.google.com/site/milanperlmongers/
>>> Webmaster of http://perl5notebook.oleber.com
>>>
>>>
--
You received this message because you are subscribed to the Google Groups
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.