Ну, проблема в следующем:
Я разрабатываю приложение внешнего интерфейса (используя vue.js), мне нужно искать макет бэкэнда (я не должен издеваться над ним спереди).
В этом приложении я могу делать http-запросы, в моих интересах только GET и PATCH, я хочу сделать эти запросы на фиктивном сервере (совместим с json: api, то есть он возвращает правильный заголовок типа контента какapplication / vnd.api + json).
Этот сервер должен отвечать предопределенным (уже жестко запрограммированным) ответом json, поэтому единственное, что меня волнует, это то, что он просматривает URL-адрес в запросе иотвечает существующим файлом или файлом json.
Я видел некоторые решения, но не одно, где я могу настроить URL-адрес для получения следующим образом (мне просто важно, если метод и URL-адрес совпадают, я возвращаюфайл json), например:
изатем я отвечаю жестко закодированным файлом json
То же самоеха-патч, на самом деле меня не волнует анализ тела, просто используйте сопоставление URL-адресов, чтобы получить правильный предопределенный ответ, этот не создавал проблем, так как URL-адрес намного проще и найденные решения поддерживают этот тип URL-адреса.:
PATCH http://localhost:PORTNUMBER/api/projects/500
Есть ли какое-либо решение, в котором я могу настроить свои конечные точки в качестве URL-адреса для запроса GET?Те, которые я нашел, выдают мне неверный путь из-за ? Include ... части URL, поскольку они служат только как PATH / PATH / RESOURCE, но когда речь идет о PATH / PATH / RESOURCE? any-weird-url-мне-нужно, тогда это вызывает проблему, до сих пор мне просто нужно что-то "настолько простое", как это.
Я попробовал это самостоятельно, используя node.js:
// app.js, my main file
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
// configuring the body parser to accept JSON as well as url encoded values
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json({
type: ['application/json', 'application/vnd.api+json']
}));
var routes = require("./routes/routes.js")(app);
var server = app.listen(3000, function () {
console.log("Listening on port %s...", server.address().port);
});
В маршрутах я определяю это:
// inside /routes/routes.js
var appRouter = function(app) {
// only works if I let it like "api/projects/1000"
app.get("api/projects/1000?include=subtree,subtree.vertices,vertices", function(req, res) {
res.set('Content-Type', 'application/vnd.api+json');
res.send({-----here goes my json response-----});
});
}
module.exports = appRouter;