Anteriormente, o autor escreveu "Enviando arquivos usando o Spring Cloud Feign". Recentemente, um colega está se conectando com o sistema antigo do Legacy Struts e precisa usar o Feign para implementar o envio do formulário. De fato, as etapas são semelhantes. As etapas anexadas a este artigo são consideradas uma adição ao artigo anterior.
Adicionar dependências:
<Depencency> <PuerpId> io.github.openfeign.form </frugiD> <ArtifactId> Feign-form </ArtifactId> <Versão> 3.2.2 </sipers> </dependency> <pendency> <purpitid> io.github.openfeign.form <//Groupid> <Tristifactid> Feign> Forming-form-sring-sring-spring.openfeign.Form <//Groupid> <Versão> 3.2.2 </sisters> </dependency>
Exemplo de cliente fingido:
@FeignClient (name = "xxx", url = "http://www.itmuch.com/", configuration = testFeignClient.FormSupportConfig.class) interface pública TestFEInClient {@PostMapping (value = "/tests consumidor = {mediaType.Apnictication_Form_FORM_FORM_FORMEd_Apniclication {@Postmapping ="/teste ", consumidor {Mediatype.application_json_utf8_value}) void post (map <string ,?> queryparam); classe FormSupportConfig {@AUTOWIRED OBJETIVO PRIVADO <HTTPMESSAGECONVERTERS> Messageconverters; // novo codificador de formulário para apoiar o formulário de formulário @bean public coder FeignformEncoder () {return new SpringForceNCODer (novo SpringEncoder (Messageconverters)); } // Ative o log de Feign @Bean Public Logger.Level Logger () {return logger.level.full; }}}Ligue para o exemplo:
@GetMapping ("/user/{id}") public user findbyid (@pathvariable long id) {hashmap <string, string> param = maps.newhashmap (); param.put ("nome de usuário", "zhangsan"); param.put ("senha", "pwd"); this.TestFeignClient.Post (param); Retorne o novo usuário ();}registro:
... [TestFeignClient#post] ---> post http://www.baidu.com/test http/1.1
... [TestFeignClient#Post] Aceitar: Application/JSON; Charset = UTF-8
... [TestFeignClient#post] Tipo de conteúdo: Application/X-Www-Form-Urlencoded; charset = utf-8
... [TestFeignClient#post] Length de conteúdo: 30
... [TestFeignClient#post]
... [TestFeignClient#post] senha = pwd & userName = zhangsan
... [TestFeignClient#post] ---> final http (corpo de 30 bytes)
A partir do log, podemos ver que o Feign pode usar o formulário para enviar dados no momento.
Documentos de referência
https://github.com/openfeign/feign-form
https://stackoverflow.com/questions/35803093/how-to-pos-form-url-coded-data-with-spring-cloud-fEign
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.