Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当对给定URL使用错误的HTTP方法时,如何在默认情况下返回405 method not allowed?_Java_Playframework 2.0 - Fatal编程技术网

Java 当对给定URL使用错误的HTTP方法时,如何在默认情况下返回405 method not allowed?

Java 当对给定URL使用错误的HTTP方法时,如何在默认情况下返回405 method not allowed?,java,playframework-2.0,Java,Playframework 2.0,当您希望使用错误的HTTP方法访问URL时,Play似乎返回404。在Django中,可以使用require\u http\u methodsdecorator,您可以在其中放置可用于给定视图的http方法,当使用错误的方法时,返回405。在使用错误的方法(例如POST而不是GET)时,是否有一些简单的方法可以在播放路线文件或其他地方指定返回405 method not allowed响应,而不为每个URL执行显式控制器处理程序?尝试以下方法: public class Global exten

当您希望使用错误的HTTP方法访问URL时,Play似乎返回404。在Django中,可以使用
require\u http\u methods
decorator,您可以在其中放置可用于给定视图的http方法,当使用错误的方法时,返回405。在使用错误的方法(例如POST而不是GET)时,是否有一些简单的方法可以在播放路线文件或其他地方指定返回405 method not allowed响应,而不为每个URL执行显式控制器处理程序?

尝试以下方法:

public class Global extends GlobalSettings {

    @Override
    public Result onHandlerNotFound(Http.RequestHeader uri) {
        Iterator<Tuple3<String, String, String>> it = Routes.documentation().iterator();
        while(it.hasNext()){
            if(it.next()._2().equals(uri.uri())){
                return new Results.Status(play.core.j.JavaResults.MethodNotAllowed(), "Your msg", Codec.javaSupported("utf-8"));
            }
        }
        return super.onHandlerNotFound(uri);
    }

}
公共类全局扩展全局设置{
@凌驾
onHandlerNotFound的公共结果(Http.RequestHeader uri){
迭代器it=Routes.documentation().Iterator();
while(it.hasNext()){
如果(it.next()._2().equals(uri.uri())){
返回新的Results.Status(play.core.j.JavaResults.MethodNotAllowed(),“您的消息”,Codec.javaSupported(“utf-8”);
}
}
返回super.onHandlerNotFound(uri);
}
}