Попытка использовать OkHttp, чтобы получить, опубликовать и поместить с Java в RESTful API в Node.js / Express.OkHttp API дает следующий пример
public class PostExample {
public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
String bowlingJson(String player1, String player2) {
return "{'winCondition':'HIGH_SCORE',"
+ "'name':'Bowling',"
+ "'round':4,"
+ "'lastSaved':1367702411696,"
+ "'dateStarted':1367702378785,"
+ "'players':["
+ "{'name':'" + player1 + "','history':[10,8,6,7,8],'color':-13388315,'total':39},"
+ "{'name':'" + player2 + "','history':[6,10,5,10,10],'color':-48060,'total':41}"
+ "]}";
}
public static void main(String[] args) throws IOException {
PostExample example = new PostExample();
String json = example.bowlingJson("Jesse", "Jake");
String response = example.post("http://www.roundsapp.com/post", json);
System.out.println(response);
}
}
Но мой API работает с формой, а пример - не работает.Как я могу получить JSON, который okHttp отправляет на сервер?
//POST cliente
router.post('/users', (req,res) => {
console.log(req.body.create_first_name)
console.log(req.body.create_email)
const name = req.body.create_first_name;
const email = req.body.create_email;
const queryString = "INSERT INTO cliente (id,name,email) VALUES (?,?,?)";
getConnection().query(queryString, [null,name,email], (err, results, fields) => {
if (err) {
console.log(err);
res.sendStatus(500);
return
}
console.log(results.insertId);
res.end();
});
res.end();
});