Spring Boot Put方法不生效 访问时控制台显示GET请求报405错误
问题根本原因
你直接通过浏览器地址栏输入URL发起访问时,浏览器默认会发送GET请求,而你的/strings/add/{newString}接口明确标注了@PutMapping,仅接收PUT类型的请求,请求类型不匹配就会返回405 Method Not Allowed错误。
可行解决方案
- 方案1:使用接口测试工具发起PUT请求
可以使用Postman、Apifox等接口调试工具,新建请求后选择请求方法为PUT,填入地址http://localhost:8081/strings/add/Test后发送即可正常调用接口。 - 方案2:使用curl命令发起PUT请求
打开终端执行以下命令即可发起PUT请求:curl -X PUT http://localhost:8081/strings/add/Test - 方案3:调整接口注解(仅临时调试用,不推荐)
如果仅为了快速在浏览器调试,可以将接口上的@PutMapping改为@GetMapping,即可直接通过浏览器地址栏访问。但不符合REST接口语义规范(GET请求应当用于数据查询,而非数据新增/修改),不建议生产环境使用。
优化建议
按照REST接口设计规范,新增资源的参数不建议直接放在路径变量中传递,PUT请求的业务参数建议放在请求体中传输,避免参数长度受限、敏感信息泄露等问题。
内容的提问来源于stack exchange,提问作者Test
相关产品推荐
相关产品推荐

