Java SpringMVC服务器接收json

Java SpringMVC服务器接收json,java,rest,spring-mvc,model-view-controller,put,Java,Rest,Spring Mvc,Model View Controller,Put,我已经创建了一个SpringMVC服务器。当我尝试发送JSON时(使用PUT方法和URL): { “船名”:“测试”, “信号”:“测试”, “纬度”:12, “经度”:12, “最大速度”:14 } 到我的web服务,我得到: HTTP状态400-所需的字符串参数“shipName”不存在 这是我的服务器代码: @Controller public class SignalController { @RequestMapping(value = "/signals", method

我已经创建了一个SpringMVC服务器。当我尝试发送JSON时(使用PUT方法和URL): { “船名”:“测试”, “信号”:“测试”, “纬度”:12, “经度”:12, “最大速度”:14 } 到我的web服务,我得到: HTTP状态400-所需的字符串参数“shipName”不存在

这是我的服务器代码:

@Controller
public class SignalController {

    @RequestMapping(value = "/signals", method = RequestMethod.GET)
    public @ResponseBody
    List<Signal> getAllSignals() throws SQLException,
            ClassNotFoundException {
        ISignalModel signalModel = new SignalModel();
        return signalModel.getSignals();
    }

    @RequestMapping(value = "/add", 
            method = RequestMethod.POST)
            @ResponseBody
                public void addSignal(@RequestBody Signal signal) {
        System.out.println("Signal");;
}

    @RequestMapping(value = "/addSignal", method = RequestMethod.POST)
    public ResponseEntity<Signal> add(
            @RequestBody Signal signal) throws SQLException,
            ClassNotFoundException {
        System.out.println(signal.getMaxSpeed());
        return new ResponseEntity<Signal>(signal, HttpStatus.OK);

    }

     @RequestMapping(value = "/addSignal2", method = RequestMethod.PUT)
public ResponseEntity<Signal> update(
        @RequestParam("shipName") String shipName,
        @RequestParam("signal") String signal,
        @RequestParam("latitude") int latitude,
        @RequestParam("longitude") int longitude,
        @RequestParam("maxSpeed") int maxSpeed
        ) throws SQLException,
        ClassNotFoundException {

    ISignalModel signalModel = new SignalModel();
    boolean operation = signalModel.addSignal(new Signal(shipName, signal,latitude, longitude, maxSpeed));

    if (operation) {
        return new ResponseEntity<Signal>(HttpStatus.OK);
    } else {
        return new ResponseEntity<Signal>(HttpStatus.INTERNAL_SERVER_ERROR);
    }

//setters和getter

路径
/addSignal2
有一个映射,它映射到HTTP方法
PUT

@RequestMapping(value = "/addSignal2", method = RequestMethod.PUT)

您正在发送
帖子
。所以您得到了预期的错误响应

您的端点是否用
@POST
注释?请包含实现/shipserver/addSignal2端点的代码。请编辑您的帖子以包含所有相关代码。有人能帮我吗?
@RequestMapping(value = "/addSignal2", method = RequestMethod.PUT)