本文整理匯總了TypeScript中express-serve-static-core.IRoute類的典型用法代碼示例。如果您正苦於以下問題:TypeScript IRoute類的具體用法?TypeScript IRoute怎麽用?TypeScript IRoute使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了IRoute類的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {objectModel} from "../models/models";
import {Stream} from "stream";
const api: IRoute = router.route("/api/object");
api.get(async (req: Request, res: Response) => {
let stream: Stream = await objectModel
.find({})
.stream({ transform: JSON.stringify });
stream.on("data", (doc: Object) => {
res.write(doc, "ascii");
}).on("error", (err: Error) => {
console.log(err);
}).on("close", () => {
res.end("Done");
});
});
export const apiObjects = router;
示例2: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {bimModel} from "../models/models";
import {Stream} from "stream";
import {entityIO} from "../connections/socket";
const api: IRoute = router.route("/api/bim");
api.get(async (req: Request, res: Response) => {
let stream: Stream = await bimModel
.find({})
.lean(true)
.stream({ transform: JSON.stringify });
res.type("application/json");
stream.on("data", (doc: string) => {
// res.write();
entityIO.emit("entity", doc);
}).on("error", (err: Error) => {
console.log(err);
}).on("close", () => {
res.end(JSON.stringify({completed: true}));
});
});
export const apiBim = router;
示例3: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {userModel} from "../models/models";
import * as jwt from "jsonwebtoken";
import {key} from "../helpers/key";
const api: IRoute = router.route("/token");
api.post(async (req: Request, res: Response) => {
let username: string = req.query.username;
let obj: Object = await userModel
.find({username: username})
.lean()
.exec();
if (username === obj[0].username) {
let token: string = jwt.sign({ username: username }, key, { expiresIn: "2h" });
res.status(200).json({ token: token });
} else {
res.status(401).json("Login Failed!");
}
});
export const token = router;
示例4: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {complexModel} from "../models/models";
import {checkObjectIDValidity, checkIfDataIsArray} from "../helpers/validation";
import {errorIDValidationMessages, errorApiMessages} from "../helpers/errorMessages";
import {log} from "walter-logger";
const api: IRoute = router.route("/api/complex/:id");
api.get(async (req: Request, res: Response) => {
let id: string = req.params.id;
if (!checkObjectIDValidity(id)) {
log.alert("alert", errorIDValidationMessages.getMessage, ["complex"]);
res.status(400).json(errorIDValidationMessages.getMessage);
}
let obj: Object = await complexModel
.find({_id: id})
.exec()
.catch((e: Error) => {
log.error("error", errorIDValidationMessages.postMessage, ["complex"]);
res.status(400).send({ error: errorApiMessages.postMessage + e });
});
res.json(obj);
});
api.post(async (req: Request, res: Response) => {
let obj: Array<Object> = checkIfDataIsArray(req.body);
示例5: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import * as jwt from "jsonwebtoken";
import {key} from "../helpers/key";
const api: IRoute = router.route("/refresh");
api.post(async (req: Request, res: Response) => {
// verify the existing token
let profile: string = jwt.verify(req.body.token, key);
// check if the user still exists or if authorization hasn't been revoked
// if (!valid) return res.send(401); // re-logging
// issue a new token
let refreshedToken: string = jwt.sign(profile, key, { expiresIn: "40m" });
res.json({ token: refreshedToken });
});
export const refreshToken = router;
示例6: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {entityModel} from "../models/models";
import {checkObjectIDValidity, checkIfDataIsArray} from "../helpers/validation";
import {errorIDValidationMessages, errorApiMessages} from "../helpers/errorMessages";
const api: IRoute = router.route("/api/entity/:id");
api.get(async (req: Request, res: Response) => {
let id: string = req.params.id;
if (!checkObjectIDValidity(id)) {
res.status(400).json(errorIDValidationMessages.getMessage);
}
let obj: Object = await entityModel
.find({_id: id})
.exec()
.catch((e: Error) => {
res.status(400).send({ error: errorApiMessages.postMessage + e });
});
res.json(obj);
});
api.post(async (req: Request, res: Response) => {
// check data before saving also could do validation within function
let obj: Array<Object> = checkIfDataIsArray(req.body);
let dataRes: Object = await entityModel.insertMany(obj);
res.status(200).json(dataRes);
示例7: Router
import {Request, Response, Router} from "express";
const router: Router = Router();
import {IRoute} from "express-serve-static-core";
import {complexModel} from "../models/models";
import {Stream} from "stream";
import {complexIO} from "../connections/socket";
const api: IRoute = router.route("/api/complex");
api.get(async (req: Request, res: Response) => {
let stream: Stream = await complexModel
.find({})
.select({_id: 0, name: 1})
.lean(true)
.stream({ transform: JSON.stringify });
stream.on("data", (doc: Object) => {
res.write(doc, "ascii");
complexIO.emit("complex", doc);
}).on("error", (err: Error) => {
console.log(err);
}).on("close", () => {
res.end("Done");
});
});
export const apiComplexes = router;