簡體   English   中英

如何在 Java 中使用帶有 okhttp3 的 PUT 請求?

[英]How to use PUT request with okhttp3 in Java?

我對此很陌生,所以請善待。 我正在嘗試向某個端點發出 PUT 請求,在該端點中我需要發送一些 boolean 變量是真還是假。 我正在使用 okhttp3 和 Java 11。

final Request request = new Request.Builder()
        .url(someBaseURL + "/" + obj.getKey() + "/path")
        .build();
    execute(request);

到目前為止,這是我的代碼,我需要使用以下 URL 調用端點:

“someBaseURL/obj.key/path?booleanVariable=true”

所以我的問題是我如何發出一個PUT請求來添加這個booleanVariable ,其值為真或假。 我嘗試了一種非常愚蠢和簡單的方法,只是將"?booleanVariable=true"添加到.url()但是那個請求只是一個GET ,它對我不起作用。

如果您在正文中發送數據,那么您可以嘗試以下代碼:

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"first_param\":\"xxxxxx\"}");
Request request = new Request.Builder()
  .url("http://localhost:8080/api-path?booleanVariable=true")
  .put(body)
  .addHeader("Content-Type", "application/json")
  .build();

Response response = client.newCall(request).execute();

或者如果您只在參數中發送數據,那么您應該嘗試下面的代碼

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\n}");
Request request = new Request.Builder()
  .url("http://localhost:8080/api-path?booleanVariable=true")
  .put(body)
  .addHeader("Content-Type", "application/json")
  .build();

Response response = client.newCall(request).execute();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM