当前位置: 首页 > 知识库问答 >
问题:

无法为我的post请求提供用户id密码

韩恺
2023-03-14

我是Java和Vert.x的新手

我收到一个编译器错误。对于类型HttpRequest我做错了什么,方法basicAuthentication(String,String)未定义。

package com.aexp.csrt.qs.cb.resources;
import com.aexp.csrt.qs.models.cb.passTrou.SourceQueryModel;
import io.vertx.reactivex.ext.web.RoutingContext;
import io.vertx.reactivex.core.Vertx;
import io.vertx.ext.web.client.WebClient;
import io.vertx.ext.web.client.WebClientOptions;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.web.client.HttpResponse;
import io.vertx.core.buffer.Buffer;

public class QueryExecutorFTS implements QueryExecutor {
    private WebClient webClient;

    @Override
    public void executeQuery(SourceQueryModel Qm, RoutingContext rc) {

        WebClientOptions options = new WebClientOptions().setMaxPoolSize(10).setConnectTimeout(5000)
                .setVerifyHost(false);

        JsonObject jreq = new JsonObject(Qm.getSourceQuery().getSourceDsl().getQuery());

        Vertx vertx = rc.vertx();
        webClient = WebClient.create(vertx.getDelegate(), options);

         webClient
         .basicAuthentication("myid", "mypassword")
        .post(8094, "lpdospdb51079.phx.aexp.com", "/api/index/Text_search_name_idx/query")
        .sendJsonObject(jreq,
                ar -> {
                    if (ar.succeeded()) {
                        HttpResponse<Buffer> response = ar.result();
                        rc.response().setStatusCode(200).end(response.bodyAsString());
                    } else {
                        ar.cause().printStackTrace();
                        rc
                              .response()
                              .setStatusCode(500)
                              .setStatusMessage(ar.cause().getMessage())
                              .end();
                    }
                })
        ;


    }

}

共有1个答案

通博实
2023-03-14

方法调用的顺序不正确。
应为:

webClient         
    .post(8094, "lpdospdb51079.phx.aexp.com", "/api/index/Text_search_name_idx/query")
    .basicAuthentication("myid", "mypassword")...

请注意,此API在3.5.3中不可用。您需要3.6.3才能使用它:https://github.com/vert-x3/vertx-web/black/5e54ad321b76eaeb4c19ca1706f2f90376a0534f/vertx-web-client/src/main/java/io/vertx/ext/web/client/httprequest.java#l159

 类似资料:
  • 这个要求是,我需要通过使用Vert.x web客户端的json post body发送远程服务器和访问endpoint的用户id和密码以及post请求 我尝试了下面的代码

  • 当我在中包含LoginViewModelProviderModule时,我无法使用LoginViewModelProviderModule提供LoginViewModel,但当我在ActivityBuilderModule类的@Module注释中包含它时,它可以工作。 BaseApplicationComponent ActivityBuilderModule LoginViewModelProv

  • 我正在使用Multipart执行帖子类型请求。问题是因为我一直收到两个错误 1) 500 2) 422不可处理实体 Api仅接受音乐文件。因此,我添加了一个默认文件,以避免不断选择新文件 和我的界面 如果有任何帮助,我将不胜感激。 我发现它将文件作为对象通过Reform2发送到服务器

  • 我正试图根据以下代码发出post请求: 在Postman,此请求工作正常,不需要身份验证,无需登录名、密码或令牌即可工作。但是,上面的代码不起作用。 日志控制台的一部分如下: 我无法粘贴整个stacktrace,因为stackoverflow平台不允许。

  • 这是我的控制器: 这是我的配置: 这是类别类: 如果我尝试发送内容类型为application/json和以下正文的post请求: {“id”:8,“title”:“Паа”、“engTitle”:“Pizza”、“description”:null,“menuItems”:[{“id”:4,“title”:“Паааааааааааа”和“engTitle”:“Pepperoni”、“price

  • 我试图向运行在Kubernetes集群上的Flink作业管理器发送post请求。当为不需要任何命令行参数的类发送/jar/run的post请求时,它工作得很好。但是,当尝试在同一个jar中提交需要命令行参数的不同类时,会出现以下错误。-:<代码>{“errors”:[“请求与预期格式JarRunRequestBody不匹配。”]} 但是,在传递命令行参数并直接提交作业时,请执行以下操作-: 要将上