繁体   English   中英

"Java 发布到 nodeJS 返回 404"

[英]Java posting to nodeJS returns 404

我正在尝试将一个简单的字符串从我的 java 代码发布到我的 nodeJS 应用程序。 我启动服务器,当我在浏览器中访问它时,它会显示欢迎消息。

当我运行我的 java 代码发布到 localhost:8080/TEST 时,它返回一个 404 代码。 我究竟做错了什么?

express.js 代码

var port = 8080;
const express = require('express'); 
const app = express();


app.get('', (req, res) => {
res.send('Hello express!')
})

app.get('/TEST', (req, res) => {
res.send('response send')
})

app.listen(port, () => {
    console.log('Server is up on port '+port)
    })

Java 代码

public static void main(String[] args) throws Exception {
 PostToNodejs pt = new PostToNodejs();
 pt.post("http://localhost:8080/TEST", "Some data in string format");
}


public void post(String uri, String data) throws Exception {
    HttpClient client = HttpClient.newBuilder().build();
    HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(uri))
            .POST(HttpRequest.BodyPublishers.ofString(data))
            .build();

    HttpResponse<?> response = client.send(request, HttpResponse.BodyHandlers.discarding());
    System.out.println(response.statusCode());
}

您不处理 /TEST 的快速应用程序中的 post 方法。 将方法更改为从 get 发布。

app.post('/TEST', (req, res) => {
res.send('response send')
})

您只处理“/TEST”的 GET 路由,以修复您需要将 POST 路由添加到您的快速代码的错误。 您可以使用以下代码:

app.post('/TEST', (request, response) => {
  response.send("Post route working");
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM