博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringCloud 遇到到的坑 之 FeignClient
阅读量:6085 次
发布时间:2019-06-20

本文共 2037 字,大约阅读时间需要 6 分钟。

hot3.png

1 明明是get请求报错为post请求 (这个问题已经坑了我两次了)

package com.dianrong.rbms.common.client.matrix;import com.dianrong.rbms.common.client.matrix.result.ReportResult;import feign.Headers;import feign.Param;import feign.RequestLine;/** * @author: wangjun * @create: 2018-06-29  **/public interface MatrixClient {  @Headers({"Content-Type: application/json", "Accept: application/json"})  @RequestLine("GET /api/v3/phone/getReport?ssn={ssn}&phone={phone}")  ReportResult getReport(@Param("ssn") String ssn, @Param("phone") String phone);}

报错 :

Exception in thread "main" feign.FeignException: status 405 reading Mongo#findSingleArchiveByDeviceId2(String,String,String); content:{"timestamp":1488507926013,"status":405,"error":"Method Not Allowed","exception":"org.springframework.web.HttpRequestMethodNotSupportedException","message":"Request method 'POST' not supported","path":"/api/v3/phone/getReport"}    at feign.FeignException.errorStatus(FeignException.java:62)    at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:91)    at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:134)    at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:76)    at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103)    at com.sun.proxy.$Proxy4.findSingleArchiveByDeviceId2(Unknown Source)    at com.chinamobile.iot.App.main(App.java:18)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)    at java.lang.reflect.Method.invoke(Method.java:497)    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

提示"Request method 'POST' not supported" 找GET是否配置错误,找不到原因 最后结果是 @Herders里边的键值对冒号后面必须有个空格 @Headers("key: {value}")

另外,如果GET方法有一堆参数: 想要设置一个request实体类,把所有参数都包进去,放到HTTP 的body来上传,也会被当成POST。一句话:GET参数不支持复杂对象(只支持String、Integer这些简单对象)

转载于:https://my.oschina.net/wangjunBlog/blog/1840742

你可能感兴趣的文章
C#中结构体与类的区别
查看>>
phpstorm配置php脚本执行
查看>>
2018 .NET开发者调查报告: .NET Core 是怎么样的状态
查看>>
Spring Boot Cache配置 序列化成JSON字符串
查看>>
mysql group by using filesort优化
查看>>
自定义cnblogs样式小结
查看>>
AM335x移植linux内核_转
查看>>
Nginx 介绍
查看>>
Bat相关的项目应用
查看>>
NativeClient开发指南
查看>>
游戏人物属性如何设计
查看>>
Docker源码分析(五):Docker Server的创建
查看>>
谈谈Java异常处理这件事儿
查看>>
Java中泛型Class<T>、T与Class<?>
查看>>
Django为数据库的ORM写测试例(TestCase)
查看>>
面向对象的三个基本特征(讲解)
查看>>
Linux定时任务Crontab命令详解
查看>>
判断窗口是否挂起
查看>>
(轉貼) LCD入門常識
查看>>
LPC2103开发板WDT看门狗测试试验
查看>>