我正在为我的Symfony应用程序构建一个安静的API。
我有一个无法通过API创建的资源,所以我的第一个想法是不创建POST方法/ URI。但现在我想知道是否创建POST方法并手动抛出405 Method Not Allowed
并不是一个好主意。
有人知道最佳解决方案吗?
答案 0 :(得分:2)
在其他框架中 - 例如在Java中使用spring或者在python中使用django rest框架 - 它是自动完成的。如果未列出HTTP方法,则框架将自动返回405 Method Not Allowed
。这非常有用。
就我个人而言,我会手动处理它 - 我的意思是返回405 Method Not Allowed
- 以明确错误。这不是路由不存在的情况,因此404 Not Found
是一个糟糕的选择。它确实存在,但不提供POST
。
即使403 Forbidden
也会比404 Not Found
好得多。