Top.Mail.Ru
Ответы

Request.body пустой при отправке запроса Unirest.post(ip)

У меня есть программа в java которая использует post запрос при работе с моим api.

123456789101112
 import kong.unirest.HttpResponse; 
import kong.unirest.JsonNode; 
import kong.unirest.Unirest; 
 
public class Main { 
    public static void main(String[] args) { 
        HttpResponse<JsonNode> httpResponse = Unirest.post("http://localhost:3000/") 
                .body("{\"id\": \"33\"}").asJson(); 
        System.out.println(httpResponse.getBody()); 
 
    } 
} 

и есть само api

1234567891011121314151617
 var express = require('express'); 
var bodyParser = require('body-parser'); 
var app = express(); 
var jsonParser = bodyParser.json() 
 
//Import static files 
app.use(express.static('../public')) 
 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
 
app.post('/', jsonParser, (req, res) => { 
    console.log(req.body); 
    res.send(200); 
}); 
 
app.listen(3000, () => console.log("Server started")); 

Исходя из кода программы java req.body = {id: 33}, но он равен {} Что делать?

По дате
По Рейтингу
Аватар пользователя
Новичок
11мес

Попробуй явно указать, что ты json отправляешь в заголовке запроса

1234
 HttpResponse<JsonNode> httpResponse = Unirest.post("http://localhost:3000/") 
                .header("Content-Type", "application/json") 
                .body("{\"id\": \"33\"}") 
                .asJson(); 
Аватар пользователя
Искусственный Интеллект
11мес

нет заголовка Content-Type, сервер не понимает