NPM 包 restify-normalize 使用教程

RESTful API 设计中,路径通常是由小写字母和连字符组成的。这是因为 URL 路径大小写不敏感,让路径全部采用小写字母,有利于提升 API 可读性,降低歧义。但是,如果用户查询一个不存在的路径时,服务器将返回错误页面。为了解决这个问题,可以借助 restify-normalize,这是一个用于规范化 restify 路径的 NPM 包,下面就来介绍一下 restify-normalize 的使用教程。

安装 restify-normalize

使用时,需要先将 restify-normalize 安装到你的项目中:

npm install restify-normalize --save

使用 restify-normalize

导入 restify-normalize 并使用 server.pre 方法进行注册:

const restify = require('restify');
const normalizePath = require('restify-normalize');

const server = restify.createServer();
server.pre(normalizePath());

这将会将所有不规范的 URL 路径转换为规范格式,比如路径中的大写字母将会被转换为小写字母,路径中的多个连字符会被转换为一个,以及移除路径结尾处的斜杠等。

使用示例

const restify = require('restify');
const normalizePath = require('restify-normalize');

const server = restify.createServer();

server.pre(normalizePath());

server.get('/user/:id', (req, res, next) => {
  res.send(`GET /user/${req.params.id}`);
  next();
});

server.get('/api/reg/:id?', (req, res, next) => {
  res.send(`GET /api/reg/${req.params.id}`);
  next();
});

server.listen(8080, () => {
  console.log('%s listening at %s', server.name, server.url);
});

启动服务器,使用如下命令:

node app.js

使用任何的 HTTP 客户端应用程序(如 Postman、Curl 等)尝试访问 /api/REG//foo-bar---12---//BAR/User/1,将会获取如下响应:

深度学习和指导意义

规范化 URL 路径是 web 请求中容易被人忽略的细节,然而,在 URL 路径规范化后,这将会对代码阅读性产生极大的影响,同时,对于接口的使用体验也得到了提升。restify-normalize 包就是为了解决此问题而存在的,希望本文介绍的内容能帮助到您。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/600673e0fb81d47349e53d19


纠错
反馈