Java 控制器中缺少参数时如何自动返回405

Java 控制器中缺少参数时如何自动返回405,java,php,spring,controller,Java,Php,Spring,Controller,在SpringFramework for Java中,如果请求中缺少一个或多个必需参数,控制器将返回405 Method Not Allowed。在PHP中,是否有一种智能或简单的方法来实现同样的功能?是或否,取决于您所称的智能和/或简单。但是(见下文)我想你会说“不” 405 Method Not Allowed是一个HTTP状态码,PHP在默认情况下根本不会返回这些状态码(例如,通过apache发送默认的200头) 标准PHP中没有“控制器”,因此您不需要期望从中得到任何回报。您可以使用或构

在SpringFramework for Java中,如果请求中缺少一个或多个必需参数,控制器将返回
405 Method Not Allowed
。在PHP中,是否有一种智能简单的方法来实现同样的功能?

是或否,取决于您所称的智能和/或简单。但是(见下文)我想你会说“不”

405 Method Not Allowed
是一个HTTP状态码,PHP在默认情况下根本不会返回这些状态码(例如,通过apache发送默认的200头)

标准PHP中没有“控制器”,因此您不需要期望从中得到任何回报。您可以使用或构建一个框架,如果缺少一个参数,该框架可能会返回一些内容

如果您要自己实现它,那么返回一个类似这样的标题

header('HTTP/1.1 405 Method Not Allowed');

大多数大型框架都提供了这样的功能,如果您自己制作了一个这样的函数,在验证控制器参数时会触发该函数

function forward_not_allowed()
{
    header("Status: 405 Method Not Allowed");
    exit;
}

如果您想要更高级、更自动化的东西,您可以注册自己的错误处理程序,它可以解析使用无效参数调用方法时抛出的php警告/错误,并在那里创建重定向。

我们说的是php,因此,我恐怕您可以忘记Java/Spring的大部分优点和设计:-)您可以在一个包含中存储的函数中实现它,使用一个允许的参数数组,并在必要时加载它-这并不难。