Mike
Mike

Reputation: 25

Playframwork 2.x trying to generate custom 400 response

Trying to generate a custom 400 response. I cannot for the life of me figure out how to send a 204 in place of a 400 response in my global settings. Please let me know if you cna help me out.

Thanks

public class Global extends GlobalSettings {

   @Override
   public Promise<Result> onBadRequest(RequestHeader request, String error){
     return status(204); //ideally but don't know what to put here
   }

}

Upvotes: 1

Views: 42

Answers (2)

Mark
Mark

Reputation: 863

Here you go,

public class Global extends GlobalSettings {


@Override
public Promise<Result> onError(RequestHeader arg0, Throwable arg1) {
    super.onError(arg0, arg1);
    return F.Promise.promise(()->{return play.mvc.Results.noContent();});
}

@Override
public Promise<Result> onBadRequest(RequestHeader arg0, String arg1) {
     super.onBadRequest(arg0, arg1);
    return F.Promise.promise(()->{return play.mvc.Results.noContent();});
}


}

In your application.conf

# Define the Global object class for this application.
# Default to Global in the root package.
application.global=Global

Upvotes: 1

Quan Nguyen
Quan Nguyen

Reputation: 582

hope this helps:

public class Global extends GlobalSettings {
    @Override
    public play.mvc.Result onBadRequest(RequestHeader request, String error) {        
        return play.mvc.Results.noContent(); //Generates a 204 NO_CONTENT simple result
    }
}

Documentation

Upvotes: 0

Related Questions