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 /** |
---|