gpt4 book ai didi

java - Spring 框架,启用 PUT 方法

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:19 24 4
gpt4 key购买 nike

我在捕获发送到服务器的 PUT 请求时遇到了问题。

这些是我的方法:

@RequestMapping(method= RequestMethod.GET)  
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}


@RequestMapping(method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}

当我跟踪调用时,我的 PUT 请求是由 GET 方法处理的,而不是我类中的 PUT 方法。在屏幕上,它始终显示为“获取请求”。我检查了浏览器日志并确认他们发送了正确的 PUT 请求,所以我想我在这里错过了一些 Spring 配置,但我不知道它是什么..

有人可以帮忙吗?

谢谢。

编辑:带有类的附加代码:

@Controller
@RequestMapping(value="/retail/{cid}/master/city")
public class City {

@RequestMapping(value="/foo1", method= RequestMethod.GET)
public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("get request");
return "index";
}

@RequestMapping(value="/foo2", method= RequestMethod.PUT)
public String putCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {
System.out.println("put request");
return "index";
}
}

编辑2:抱歉,我在检查日志时似乎没有很彻底。我两次收到此警告。

WARNING: Error in annotation processing: java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor

有什么解决办法吗?

最佳答案

解决了...这是修改后的有效方法

@Controller@RequestMapping(value="/retail/{cid}/master/city")public class City {  @RequestMapping(method= RequestMethod.GET)    public String getCity(@PathVariable(value="cid") String cid, @RequestParam(value="State") Integer state, Model model) {    System.out.println("get request");      return "index";    }  @RequestMapping(method= RequestMethod.PUT)    public String putCity(@PathVariable(value="cid") String cid, @RequestBody CityData state, Model model) {    System.out.println(state.getState());    return "index";  }}
public class CityData {  private String state;  public String getState() {    return this.state;  }  public void setState(String state) {    this.state = state;  }}

您可以使用@RequestBody String state,但我更喜欢创建 CityData 对象,因为上面的示例过于简化了我的代码,只是为了检查如何处理数据

关于java - Spring 框架,启用 PUT 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5521173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com