You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中PostMapping方法如何接收指定结构的JSON数据?

问题解答

方案一:自定义实体类(推荐)

创建一个与请求JSON结构完全匹配的Java实体类,Spring会自动将JSON数据绑定到该类的实例中:

public class SimRequest {
    private String id;
    private String num;

    // 必须提供无参构造方法,供Spring实例化对象
    public SimRequest() {}

    // Getter和Setter方法,Spring通过这些方法注入属性值
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }
}

修改后的控制器方法,???处填写SimRequest simRequest:

@RestController
@RequestMapping("/validate")
public class Validatesimapi {
    @PostMapping
    public Simoffers validateSim(@RequestBody SimRequest simRequest) {
        // 通过simRequest.getId()、simRequest.getNum()获取参数值
        // 编写业务逻辑并返回Simoffers对象
        return new Simoffers();
    }
}

方案二:使用Map<String, String>(临时场景适用)

如果只是临时测试或不需要实体类,也可以直接用Map<String, String>接收JSON参数:

@RestController
@RequestMapping("/validate")
public class Validatesimapi {
    @PostMapping
    public Simoffers validateSim(@RequestBody Map<String, String> requestMap) {
        String id = requestMap.get("id");
        String num = requestMap.get("num");
        // 编写业务逻辑并返回Simoffers对象
        return new Simoffers();
    }
}

方案对比

  • 实体类方案:类型安全、代码可读性强,便于后续扩展和维护,适合正式业务场景。
  • Map方案:无需额外创建类,适合快速测试或临时需求,但缺乏类型校验,可读性较差。

内容的提问来源于stack exchange,提问作者Anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 07:24:22