'404 when trying to get response from backend using axios

I am trying to get function result from backend to frontend via axios but it returns 404 every time.

I managed to send request to backend and activate function but on geting result it started returning 404

route in app.ts

import cardRoute from './routes/test';
const app = express();
app.use('/test', cardRoute);

./routes/test.ts (backend)

function test_load() returns string

import express from 'express';
import { test_load }  from '../cardpull';

const router = express.Router();

router.post('./test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

export default router;

Frontend call

async function GetCard() {
    var cards = await axios.post<string>('/test/test-bed');
    return cards;
  };


Solution 1:[1]

your route is not valid

router.post('./test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

should be:

router.post('/test-bed',
  async (req, res) => {
  let cards = test_load()
  res.send(cards);
},
);

and on your axios URL, maybe you need to include the host and port because if you define only the endpoint, it will hit your frontend host and port, example if you open express on localhost:3000 then the axios will be axios.post('http://localhost:3000/test/test-bed')

note: I didn't write the answer with typescript, but with javascript style should be clear enough.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 David Yappeter