当前位置: 首页 > 面试题库 >

如何使用Spring Cloud Feign发布表单URL编码的数据

师冥夜
2023-03-14
问题内容

使用spring-mvc批注,如何定义可以以POST形式URL编码的@FeignClient?


问题答案:

将表单编码器用于伪装:https :
//github.com/OpenFeign/feign-form,伪装配置如下所示:

class CoreFeignConfiguration {

  @Autowired
  private ObjectFactory<HttpMessageConverters> messageConverters

  @Bean
  @Primary
  @Scope(SCOPE_PROTOTYPE)
  Encoder feignFormEncoder() {
      new FormEncoder(new SpringEncoder(this.messageConverters))
  }
}

然后,可以像这样映射客户端:

@FeignClient(name = 'client', url = 'localhost:9080', path ='/rest', configuration = CoreFeignConfiguration)
interface CoreClient {

    @RequestMapping(value = '/business', method = POST, consumes = MediaType.APPLICATION_FORM_URLENCODED)
    @Headers('Content-Type: application/x-www-form-urlencoded')
    void activate(Map<String, ?> formParams)
}


 类似资料:
  • 使用注释: 我如何定义一个,它可以

  • 响应:{“httpCode”:“400”,“httpMessage”:“请求错误”,“moreInformation”:“API请求中缺少一个或多个必需的API参数。”} 从日志中,我可以看到所有参数的传递方式如下:grant\u type=client\u credentials

  • 问题内容: 我想将以下(工作)curl代码段转换为RestTemplate调用: 如何正确传递email参数?以下代码导致404 Not Found响应: 我试图在PostMan中制定正确的调用,并且可以通过在主体中将email参数指定为“ form- data”参数来使其正常工作。在RestTemplate中实现此功能的正确方法是什么? 问题答案: POST方法应沿着HTTP请求对象发送。并且该

  • 问题内容: 我的代码: 我试图使用提取API发布表单,它发送的正文如下: (我不知道为什么每次发送时边界数字都会更改…) 我希望它使用“ Content-Type”:“ application / x-www-form- urlencoded”发送数据,我该怎么办?或者,如果我只需要处理它,如何在控制器中解码数据? 向谁回答我的问题,我知道我可以做到: 我想要的是类似jQuery中的$(“#for

  • 我想将以下(工作的)curl片段转换为RestTemplate调用: 如何正确传递email参数?以下代码将导致404 Not Found响应: 我尝试在PostMan中制定正确的调用,通过在正文中将email参数指定为“form-data”参数,可以使其正常工作。在RESTTemplate中实现此功能的正确方法是什么?

  • 我正在编写一个Spring5Web应用程序,我的要求是获得一个url编码的表单,并将url编码的响应发送回来 这是路由器功能代码 这是我的处理程序代码 这是我得到的错误 2020-04-07 02:37:33.329调试38688---[ctor-http-nio-3]组织。springframework。网状物HttpLogging:[07467aa5]已解决HTTP POST/formnew的