1.多参数表单类型传输
@PostMapping("/service/system/advertiser/save")
Response<Boolean> saveAdvertiser(@RequestParam("username") String username,
@RequestParam("nickname") String nickname,
@RequestParam("type") Integer type,
@RequestParam("password") String password);
注:这种传参方式@RequestParam注解及其value值必须要,而且其实现方法的参数名字必须和注解中的value值一样,否则就要在实现方法中也要加@RequestParam注解及其value值。
2.通过JSON传输
@PostMapping("/service/system/advertiser/selectOne")
Response<Advertiser> selectOne(@RequestBody Advertiser advertiser);
@Override
public Response<Advertiser> selectOne(@RequestBody Advertiser advertiser) {
return new Response<Advertiser>().ok().data(advertiserService.selectOne(advertiser));
}
注:这种传参方式必须要在其实现方法中也要打上@RequestBody注解,否则无法接收到参数。
3.Date类型参数的时差
这是我使用第一种方式传参时出现的问题,平台传的参数是上面的,但是服务接收到的参数是下面的,这是SpringCloud Feign传Date类型参数的时差导致的。
使用第二种方式将参数封装在对象中,通过JSON传参就不会出现时差。
如果真要用第一种方式的话,有两种解决方法:
a.当发送时间类型时,直接用String发送
b.Feign客户端实现FeignFormatterRegistrar接口自定义DateFormatRegister
@Component public DateFormatRegister(){ private class Date2StringConverter implements Converter<Date,String>{ @Override |
---|
provider增加相应的解析器
@Configuration /** |
---|