gpt4 book ai didi

java - 从 JAVA Spring 创建到 firebase 的 HTTP.PATCH 请求

转载 作者:行者123 更新时间:2023-12-01 13:18:31 24 4
gpt4 key购买 nike

问题是 Java HTTPUrlConnection 不支持 HTTP.PATCH。

所以我找到了一个指南,它用主体实现了删除。但我收到 HTTP/1.1 400 Bad Request

我得到了这个:
* 导入 编译("org.apache.httpcomponents:httpclient:4.3.1")

方法:

@SneakyThrows
public void firebasePatch(final PARAM p) {
new TaskRunner() {

@Override
public void command() throws Throwable {
final HttpClient httpClient = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), 10000);
PARAM p2 = p;
String callUrl = url+".json"+"?auth="+firebaseAuth;
HttpPatch httpPatch = new HttpPatch(callUrl);
httpPatch.addHeader("Accept", "*/*");
httpPatch.addHeader("Content-Type", "application/json");
// httpPatch.addHeader("auth", firebaseAuth);

String patchString = "{'userwallposts': {'ame_lector_dk': [{'wallPostUrl': '/wallposts/1','createdByLink': '',"+
"'summary': 'blah gik sig ikke en tur, og købte blah med hjem','createdDate': '20140126220550','comments': '2',"+
"'title': '1Blah blah blah','createdBy': 'PATCHED!','picture': 'http://images6.alphacoders.com/316/316963.jpg'}]}}";
StringEntity entity = new StringEntity(patchString, "UTF-8");
entity.setContentType("application/json");
httpPatch.setEntity(entity);
HttpResponse response = httpClient.execute(httpPatch);
int statusCode = response.getStatusLine().getStatusCode();
if (statusCode == 200 ? true : false) {
// ok
System.out.println("patch complete");
} else {
System.out.println(response.getStatusLine());
}

}
}.run(nonBlock, exceptionHandling);

}

我检查了 Url+方法在 Advanced Rest 客户端中是否有效,无法弄清楚为什么我的 Spring boot 项目没有获得相同的输出,任何帮助将不胜感激。

最佳答案

补丁声明没有任何问题。只是我的 JSON 不正确。多亏了@DaveSyer,让我的狭隘视野(专注于方法,Patch red。)得以扩展。

Firebase 已写道:

错误情况

  • 在这些情况下,Firebase REST API 将返回错误代码。

  • 通过 HTTP 而不是 HTTPS 发出的请求将导致 HTTP 状态代码 404 Not Found

  • 无法解析 PUT 或 POST 数据将导致 HTTP 状态代码 400 错误请求

  • 缺少 PUT 或 POST 数据将导致 HTTP 状态代码 400 错误请求

  • 尝试 PUT 或 POST 数据太大会导致 HTTP 状态代码 400 错误请求

  • 未指定命名空间的 REST API 调用将导致 HTTP 状态代码 417 Expectation Failed

  • REST API 调用包含无效子名称作为 path400 错误请求的一部分

  • 违反安全规则的请求将导致 HTTP 状态代码 403 Forbidden

关于java - 从 JAVA Spring 创建到 firebase 的 HTTP.PATCH 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22252636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com