feign請求傳送實體類參數的一些摸索


    @PostMapping("dc")
    public String dc(HttpServletRequest request, @RequestBody User user){
        List<String> services = discoveryClient.getServices();
        services.forEach(item->{
            logger.info("Service:"+item+":");
        });
        String name = user.getName();

        return "service"+services+name;

    }

以上是服務提供方的代碼,使用@RequestBody接受請求體中的參數

    @GetMapping("/consumer")
    public String dc(){
        User user = new User();
        user.setName("mck1");
        user.setAge(1);

        return eurekaClient.dc(user);
    }


@FeignClient("eureka-client")
public interface EurekaClient {

    @PostMapping("/dc")
    public String dc(@Param("user") User user);
}

以上是服務調用方的代碼,使用了@Param注解來發送參數(經過我測試發現,這個注解中的名字隨便寫不影響接收,說明@RequestBody是接收請求體中的所有)

以上是post請求的形式

 

 

get請求的形式不能用這種方式,get請求應該用@RequestParam注解來傳送普通參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM