API接口方式
1.接口包含如下元素
brand/search/{pageNo}/{pageSize}?startTime=“2021-08-02 22:00:00”&endTime=“2021-08-03 00:00:00”
Headers:
"authorization":""
"code":""
注意:“2021-08-02 22:00:00”这个引号是不需要的,否则里面相当于两层引号
2.可能的一种接口设计方式
@RequestMapping(value="test/{pageNo}/{pageSize}")
public String testMultiApi( @RequestHeader("authorization")String auth,
@RequestHeader("code")String code,
@PathVariable(value="pageNo")Integer pageNo,
@PathVariable(value="pageSize")Integer pageSize,
@RequestParam(value = "name")String name,
@RequestParam(value = "age")Integer age) {
logger.info("---testMultiApi---");
logger.info("---testMultiApi---auth:"+auth);
logger.info("---testMultiApi---code:"+code);
logger.info("---testMultiApi---pageNo:"+pageNo);
logger.info("---testMultiApi---pageSize:"+pageSize);
logger.info("---testMultiApi---name:"+name);
logger.info("---testMultiApi---age:"+age);
return "ok";
}
3.访问接口的方式
Integer pageNo = 0; Integer pageSize = 20; Integer totalPage = 2; Integer age = 30; String url = "http://localhost:9500/operation/test/" + pageNo + "/" + pageSize + "?" + "name={name}&age={age}"; // MultiValueMap<String, Object> paramMap = new LinkedMultiValueMap<String, Object>();//这种方式到接口时是数组 // paramMap.add("name", "anenyang"); // paramMap.add("age", age.toString()); Map<String,Object> pMap = new HashMap<String,Object>(); pMap.put("name", "anenyang"); pMap.put("age", age); // HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); headers.set("authorization", "auth"); headers.set("x-system-code", "code"); HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<Map<String, Object>>(null,headers); // RestTemplate rest = new RestTemplate(); ResponseEntity<String> res = rest.exchange(url,HttpMethod.GET, httpEntity, String.class, pMap); if(StringUtil.isNull(res)) { log.info("--<testApi>--res is null"); } log.info("--<testApi>--:::"+res.getBody());
4.接口说明
SpringBoot提供的获取参数注解包括:@PathVariable,@RequestParam,@RequestBody,三者的区别如下表:

浙公网安备 33010602011771号