首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenAPI生成器-Java11原生HTTP模板:如何添加自定义标头

OpenAPI生成器-Java11原生HTTP模板:如何添加自定义标头
EN

Stack Overflow用户
提问于 2020-11-09 12:00:50
回答 1查看 633关注 0票数 3

我正在使用OpenAPI生成器来生成一个Java11HTTPClient,用于符合OpenAPI规范的服务。

问题是:该服务需要基本身份验证,但它不会用WWW-Authenticate头来挑战客户机,因此Java11HTTPClient不会发送由构建器配置的基本身份验证。解决方法是按照Authorization中的建议,将这条线头直接添加到请求中。

现在:从4.3.1版本开始,OpenAPI生成器将不会为我提供一个自定义HTTP请求的接口,所以我想知道是否最好重写负责任的模板(api.mustache:126),或者是否有一个更干净的替代方案来完成此任务。

EN

回答 1

Stack Overflow用户

发布于 2022-04-12 16:45:31

我与您的问题相同,解决方案是使用生成的ApiClient类及其RequestInterceptor字段。它允许在将请求头发送到服务器之前自定义请求头:

代码语言:javascript
复制
ApiClient client = new ApiClient();
client.setRequestInterceptor(new Consumer<HttpRequest.Builder>() {
  @Override
  public void accept(HttpRequest.Builder builder) {
    builder.header("Authorization", "Basic " + Base64.getEncoder().encodeToString("foo:bar"));
  }
});

如果您需要捕获应答头,也有上面所述响应拦截器的支持版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64751265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档