偽のリモート呼び出しRequestParam.value()がパラメーター0で空でした

SpringMVCプロジェクトを作成したとき、いくつかの詳細がこの問題を引き起こしました。

SpringMVCのインターフェイスは、キーボードを数回押す手間を省くために、次のように記述されます。

	//Post @RequestParam 带参
	@PostMapping("/t5")
	public R t5(@RequestParam String param) {
    
    
		log.info("t5===>"+"开始");
		log.info("t5入参===>"+param);
		log.info("t5===>"+"结束");
		return R.ok();
	}

キーボードをもう少し追加すればこれで終わりです

	//Post @RequestParam 带参
	@PostMapping("/t5")
	public R t5(@RequestParam("name") String param) {
    
    
		log.info("t5===>"+"开始");
		log.info("t5入参===>"+param);
		log.info("t5===>"+"结束");
		return R.ok();
	}

そのため、マイクロサービスを作成して偽のリモート呼び出しを使用すると、RequestParam.value() was empty on parameter 0エラーが発生します
問題は、エラーが偽のリモートインターフェイスで報告されることです。文言は次のとおりです。

	@PostMapping("/testb/t5")
	R t5(@RequestParam String param);

または

	@PostMapping("/testb/t5")
	R t5(String param);

次のように変更します

	@PostMapping("/testb/t5")
	R t5(@RequestParam("name") String param);

着信側が(「名前」)を追加するかどうかに関しては、問題は大きくありません。この問題の理由は、Feignの実装に関連しています。Feignの最下層はhttpclientを使用しています。この問題は下位バージョンで発生します。この問題は上位バージョンで修正されていると聞きました。

おすすめ

転載: blog.csdn.net/CSDN877425287/article/details/115155208