{"id":897,"date":"2023-03-11T06:56:20","date_gmt":"2023-03-10T22:56:20","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=897"},"modified":"2023-04-29T16:35:32","modified_gmt":"2023-04-29T08:35:32","slug":"spring-cloud-feign-pass-map-objects-and-multimedia-files","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/11\/spring-cloud-feign-pass-map-objects-and-multimedia-files\/","title":{"rendered":"Spring Cloud Feign\u4f20\u9012map\u5bf9\u8c61\u548c\u591a\u5a92\u4f53\u6587\u4ef6"},"content":{"rendered":"<h2>Feign\u57fa\u672c\u4f7f\u7528<\/h2>\n<p>Spring Cloud \u901a\u8fc7Feign\u8c03\u7528\u5176\u4ed6\u5fae\u670d\u52a1\u7684api\u5177\u4f53\u7528\u6cd5<\/p>\n<p><!-- more --><\/p>\n<pre><code class=\"language-java\">@EnableFeignClients \/\/\u5f00\u542ffegin\u5ba2\u6237\u7aef\n@SpringBootApplication\npublic\u00a0class\u00a0MongodbApiApplication {\n\u00a0\u00a0 publicstaticvoid main(String[] args) {\n\u00a0\u00a0\u00a0\u00a0\u00a0 SpringApplication.run(MongodbApiApplication.class, args);\n\u00a0\u00a0 }\n}<\/code><\/pre>\n<pre><code class=\"language-java\">\/\/@FeignClient(value=\u8c03\u7528\u7684\u670d\u52a1\u7684\u540d\u5b57, fallback=\u7194\u65ad\u5668\u7684\u7c7b)\n@FeignClient(value = &quot;mongodb&quot;, fallback = MongodbHystrix.class)\npublicinterfaceMongodbApi {\n\u00a0\u00a0 @RequestMapping(name = &quot;\/findById&quot;, method = RequestMethod.POST)\n\u00a0\u00a0 public Object findById(@RequestBody Map&lt;String, Object&gt; map);\n}<\/code><\/pre>\n<h2>Fegin\u4f20\u9012map\u5bf9\u8c61<\/h2>\n<p>GET\u8bf7\u6c42\u6bcf\u4e2a\u65b9\u6cd5\u53c2\u6570\u90fd\u9ed8\u8ba4\u6709<code>@RequestParam<\/code>\u6ce8\u89e3\uff0c\u6700\u597d\u6307\u5b9avalue\u7684\u503c\u53c2\u6570\uff1b\u5982\u679c\u662f\u5bf9\u8c61\u9700\u8981\u4f7f\u7528<code>@RequestBody<\/code>\uff0c\u8be5\u6ce8\u89e3\u6bcf\u4e2a\u65b9\u6cd5\u6700\u591a\u53ea\u80fd\u4f20\u9012\u4e00\u4e2a\u5bf9\u8c61\uff0c\u5982\u679c\u9700\u8981\u4f20\u9012\u591a\u4e2a\u5bf9\u8c61\u5c31\u9700\u8981\u7528map\u6765\u4f20\u9012<\/p>\n<p>\u4f20\u9012\u5bf9\u8c61\u548cmap\u5fc5\u987b\u662fpost\u8bf7\u6c42\uff0c\u5e76\u4e14\u52a0\u4e0a<code>@RequestBody<\/code>\u4fee\u9970<\/p>\n<p>\u7528map\u4f20\u9012\u5bf9\u8c61\u7684\u4e00\u4e9b\u5751<\/p>\n<ol>\n<li>\u901a\u8fc7Feign\u4f20\u9012map\u5bf9\u50cf\uff0c\u63a5\u6536\u5230\u5bf9\u8c61\u4e4b\u540e\u81ea\u52a8\u8f6c\u6210String(json)<\/li>\n<li>\u901a\u8fc7map\u4f20\u9012\u57fa\u672c\u6570\u636e\u7c7b\u578b\uff0c\u63a5\u6536\u65f6\u4e5f\u4f1a\u53d8\u6210String\u7c7b\u578b<\/li>\n<\/ol>\n<h2>Fegin\u4f20\u9012\u591a\u5a92\u4f53\u6587\u4ef6<\/h2>\n<pre><code class=\"language-java\">@FeignClient(value = &quot;fastdfs&quot;, configuration = FeignMultipartSupportConfig.class)\npublic interface FastDFSApi {\n\n    @RequestMapping(value = &quot;\/uploadImage&quot;, method = RequestMethod.POST, produces = {\n            MediaType.APPLICATION_JSON_UTF8_VALUE }, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)\n    public String uploadImageAndCrtThumbImage(@RequestPart MultipartFile multipartFile);\n\n    @Configuration\n    public class FeignMultipartSupportConfig {\n\n        @Bean\n        @Primary\n        @Scope(&quot;prototype&quot;)\n        public Encoder multipartFormEncoder() {\n            return new SpringFormEncoder();\n        }\n\n        @Bean\n        public feign.Logger.Level multipartLoggerLevel() {\n            return feign.Logger.Level.FULL;\n        }\n    }\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Feign\u57fa\u672c\u4f7f\u7528 Spring Cloud \u901a\u8fc7Feign\u8c03\u7528\u5176\u4ed6\u5fae\u670d\u52a1\u7684api\u5177\u4f53\u7528\u6cd5 @EnableFe [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[42],"tags":[251],"class_list":["post-897","post","type-post","status-publish","format-standard","hentry","category-spring-cloud","tag-feign"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/897","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=897"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/897\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=897"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=897"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=897"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}