简单接口参数
springboot接口访问,如果是走http请求,那么参数会默认转换成键值对格式,或者是json字符串形式的。今天就遇到一个场景,我需要一个1,list结构的参数,1,list里面又是对象,那我们该怎么传参呢?
我们不能再浏览器上直接拼接参数发请求了,例如:这样的格式是不被允许的,请求会报错。
那么我们转换思路,既然是json格式的参数,那我们就传json格式
设置headers
组织传值参数1,list数据
在body中,传值参数,1,list使用[]括起来
代码实现请求
public void queryLiveCourseInfoTest(){
JSONArray jsonArray = new JSONArray();
JSONObject json1 = new JSONObject();
json1.put('dn','123');
json1.put('bossCode','34455');
jsonArray.add(json1);
JSONObject json2 = new JSONObject();
json2.put('dn','234');
json2.put('bossCode','66666');
jsonArray.add(json2);
String arr = jsonArray.toJSONString();
System.out.println('请求参数:'+arr);
String url = nativUrl+'';
try {
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType('application/json; charset=UTF-8');
headers.setContentType(type);
HttpEntity entity = new HttpEntity(arr,headers);
String res = restTemplate.postForObject(url, entity, String.class);
log.info('结果:'+res);
} catch (RestClientException e) {
log.error('请求异常' + e.getMessage());
}
}
controller层设置两个注解@ResponseBody和@RequestBody
@ResponseBody没有该注解的时候,会发生postman请求找不到error404;
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点