Как использовать Hateoas, чтобы добавить ссылку на каждый результат в наборе результатов - PullRequest
0 голосов
/ 02 марта 2020

Я хочу добавить ссылку на каждый результат в наборе результатов, заданный разрешением. json (результаты) в моих остальных API.

Ссылка будет выглядеть следующим образом: http://localhost: 3000 / test / api / v1 / студентов /: student_id / marks

var express = require("express");
var app = express();

var config = require("./config.js");
var connection = config.connection;

var server = app.listen(3000, localhost, function() {
  console.log("App listening at http://localhost:3000");
});

//API-1
app.get("http://localhost:3000/test/api/v1/students/", function(req, res) {
  connection.query("SELECT id, name, subject FROM students", function(error, results, fields) {
     if (error) throw error;
     res.json(results);
  });
});

//API-2
app.get("http://localhost:3000/test/api/v1/students/:student_id/marks", function(req, res) {
      connection.query("SELECT marks FROM students where id = ?", [req.params.student_id], function(error, results, fields) {
         if (error) throw error;
         res.json(results);
      });
    });

Ожидаемый ответ API- 1:

[{
  "id": "123",
  "name": "A",
  "subject": "Web Technology",
  "links": {
             "marks": "http://localhost:3000/test/api/v1/students/123/marks"
           }
 },
 {
  "id": "456",
  "name": "B",
  "subject": "Computer Networks",
  "links": {
             "marks": "http://localhost:3000/test/api/v1/students/456/marks"
           }
 }]
...