如果我的某些术语不正确,我深表歉意,我仍在努力学习:
我正在使用 Dropwizard 框架,并且我有一个包含所有各种 POST/GET/etc 方法的资源类。当来自 postman 、浏览器等的攻击时,它们都工作正常。如果我尝试资源类中没有匹配路径的内容,我会收到 HTTP 状态 405 的异常 - 方法不允许。
有没有一种方法可以默认使用其他方法来显示故障排除帮助 - 例如可用 API 的列表或某些文档的链接?有点像 try catch 类型的逻辑。不确定有哪些选项,或者是否有最好的方法来做到这一点。
感谢任何帮助。谢谢!
最佳答案
我认为您可能不想这样做。 REST over HTTP“主要”由 HTTP 方法驱动,端点也会对其进行操作。
在任何堆栈中,请尽量避免这种情况,因为您对特定资源有特定操作...其他任何内容都应被视为服务器无法理解的内容,就像 HTTP 协议(protocol)的行为方式一样。
话虽如此,只需将通配符(通常是 *
)应用于其中一个方法作为后备操作即可。这也应该适用于 Jersey 和 Spring Boot (MVC)。
关于如果没有路径匹配,Java REST 有没有办法默认使用特定方法? (而不是得到 405),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45623090/