将下一个curl请求转换为单个Java请求代码的最佳方法是什么?
$ curl -i
-H 'Content-Type: multipart/form-data' \
-H "Accept: application/json" \
-F "user[photo]=@test.jpg" \
-F "user[first_name]=Test" \
-F "user[password]=password" \
-F "user[email]=email@test.com" \
-F "user[last_name]=Testing" \
-X POST http://someURL.com:3000/api/user?client_id=zyBCF8N6yiJq8k
*我已经尝试了下一个:
HttpPost postRequest = new HttpPost(AP("users", null));
FileBody bin = new FileBody(new File(IMAGE_DIR + "/" + "nisbet-profile.jpg"));
log.info("exporting file in path " + bin.getFile().getPath());
MultipartEntity entity = new MultipartEntity();
entity.addPart("photo", bin);
entity.addPart("first_name", new StringBody("test"));
entity.addPart("last_name", new StringBody("test"));
entity.addPart("email", new StringBody("testemail23@gmail.com"));
entity.addPart("password", new StringBody("123456"));
RestExporter picExporter = new RestExporter();
postRequest.setEntity(entity);
HttpResponse response = picExporter.request(postRequest);
but I get: HTTP/1.1 422 Unprocessable Entity
Any idea what I'm doing wrong?
答案 0 :(得分:2)
curl
选项的含义-i, --include (HTTP)
-H, --header <header>
-F, --form <name=content>
-X, --request <command>
Content-Type
和Accept
标题POST
到网址