springcloud 实战 feign使用中遇到的相关问题
生活随笔
收集整理的這篇文章主要介紹了
springcloud 实战 feign使用中遇到的相关问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?springcloud 實戰 feign使用中遇到的相關問題
1.使用feign客戶端調用其他微服務時,session沒有傳遞成功,sessionId不一樣。
2.使用feign客戶端調用其他微服務時,發送POST請求時,對象信息沒有傳遞成功。
關鍵在于加上注解:@RequestBody
feign客戶端:
@FeignClient(name = "mpmt-user") public interface PersonFeignClient {@GetMapping("/feign/testGet/{id}")public ResponseEntity<JsonResult> testGet(@PathVariable(value = "id") Integer id);@PostMapping("/feign/testPost")public ResponseEntity<JsonResult> testPost(@RequestBody Person person); }
微服務服務端:mpmt-user
@RestController @RequestMapping("/feign") public class FeignController {private final Logger logger = Logger.getLogger(FeignController.class);@GetMapping("/testGet/{id}")public ResponseEntity<JsonResult> testGet(@PathVariable(value = "id") Integer id,HttpServletRequest request) {JsonResult r = new JsonResult();try {logger.info("sessionid:"+request.getSession().getId());User user = (User)request.getSession().getAttribute("sessionUser");logger.info("userId:"+user.getId());r.setResult(user);r.setStatus("200");} catch (Exception e) {r.setResult(e.getClass().getName() + ":" + e.getMessage());r.setStatus("error");e.printStackTrace();}return ResponseEntity.ok(r);}/*** 添加用戶* 提供給后端feign調用的接口,post請求都要使用@RequestBody ,包括feign中定義的接口* @param person* @return*/@PostMapping("/testPost")public ResponseEntity<JsonResult> testPost(@RequestBody Person person,HttpServletRequest request) {JsonResult r = new JsonResult();try {logger.info("sessionid:"+request.getSession().getId());User user = (User)request.getSession().getAttribute("sessionUser");logger.info("userId:"+user.getId());r.setResult(person);} catch (Exception e) {r.setResult(e.getClass().getName() + ":" + e.getMessage());r.setStatus("error");e.printStackTrace();}return ResponseEntity.ok(r);}}?
3.使用feign客戶端調用其他微服務時,報錯超時:e=feign.RetryableException: Read timed out executing POST
ribbon.ConnectTimeout=60000
轉載于:https://www.cnblogs.com/brant/p/9864813.html
總結
以上是生活随笔為你收集整理的springcloud 实战 feign使用中遇到的相关问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOs7下lnmp环境安装
- 下一篇: Java练习 SDUT-2401最大矩形