httplistener接收post请求_springboot|Controller接收处理GET,POST请求入参

Controller 接收入参

入参通常来说分两个情况,一种是Get, 一种是POST

Get请求的入参处理

/** * @Author https://www.javastudy.cloud * @CreateTime 2019/11/3 **/@RestControllerpublic class ParamController {/**     * 这里使用了 GetMapping 和 @RequestMapping(method = RequestMethod.GET)是一样的     * 在方法入参的位置,把每个参数都平铺开来     * @return     */@GetMapping("param/handleGetParam1")public String handleGetParam1(String param1, String param2){String result = String.format("in handle1 param1 is %s, param2 is %s", param1, param2);return result;    }/**     * 把入参封装成一个实体,如果请求参数过多,一般大于5个时,用这种方法     * @param demo     * @return     */@GetMapping("param/handleGetParam2")public String handleGetParam2(ParamDemo demo){String result = String.format("in handle2 param1 is %s, param2 is %s", demo.param1, demo.param2);return result;    }/**     * 使用静态内部类,简单定义一个入参实体类     */static class ParamDemo{private String param1;private String param2;public String getParam1() {return param1;        }public void setParam1(String param1) {this.param1 = param1;        }public String getParam2() {return param2;        }public void setParam2(String param2) {this.param2 = param2;        }    }}

结果如下:8cbda6cc30e50d404d64f93922258974.png106f3f3057a9111395875ccdf890d12e.png

post请求入参处理

/**     * Post 请求入参也可以这样平铺使用     * 一般适用于前端Header中Content-Type为application/x-www-form-urlencoded的场景     * @param param1     * @param param2     * @return     */@PostMapping("param/handlePostParam1")public String handlePostParam1(String param1, String param2){String result = String.format("in handle1 param1 is %s, param2 is %s", param1, param2);return result;    }/**     * 入参为一个实体类的形式,没有任何注解     * 一般适用于参数个数较多,在Header中Content-Type为application/x-www-form-urlencoded的场景     * @param demo     * @return     */@PostMapping("param/handlePostParam2")public String handlePostParam2(ParamDemo demo){String result = String.format("in handle2 param1 is %s, param2 is %s", demo.param1, demo.param2);return result;    }/**     * 请求入参是一个实体,并且加上了 @RequestBody     * 一般适用于前端Header中Content-Type 为 application/json的场景     * 注意入参要是json格式     * @param demo     * @return     */@PostMapping("param/handlePostParam3")public String handlePostParam3(@RequestBody ParamDemo demo){String result = String.format("in handle2 param1 is %s, param2 is %s", demo.param1, demo.param2);return result;    }

PostMan模拟请求结果如下:模拟时注意修改Header中Content-Type的值8800287c2ab00a08bb24150e437e9a4b.png17961d46d2c0e68f869c6a0b6dec908c.png模拟时注意修改Header中Content-Type的值c1d30fb2a0373aed7c0757e20f883cf5.pnge65c22a43fabfe0ca746b6976271627a.png

DEMO总评

入参处理这块不是很复杂,主要是要和前端的Header中的Content-Type对应,本次DEMO只讲了String类型的入参处理,后面会分享文件,数组等复杂类型的入参处理. 还有一种入参是@PathVariable的形式,这种在实际入开发中使用的少之又少,可以学习,不推荐实际开发中使用.加油吧!

可添加小刀微信获取源码

fccee0aae54df1ad24e9413080f26e7a.png

eb53f390b95c5bdaa569bf77521f140c.png往期热文springboot|springboot配置Filter过滤器springboot|springboot配置拦截器docker|docker 安装zookeeperspringboot|前端发ajax请求到后台Controller及常见的坑你点 在看的样子真好看:)~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值