24

Kịch bản: Nhà phát triển của chúng tôi đang cố gắng thay thế dịch vụ web (được viết bằng C# .Net) bằng Node.JS Restful API.Cách phân tích cú pháp/đọc nhiều tham số với khung làm lại cho Node.JS

Số phát hành: Bây giờ, chúng tôi cần xử lý yêu cầu đến như (chúng tôi không kiểm soát được). Vì vậy, sau đây là định dạng của URL đến:

http://www.website.com/Service.aspx?UID=Trans001 & FacebookID = ae67ea324 & GetDetailType = ĐẦY ĐỦ

Tôi khả năng xử lý các URL như:

http://www.website.com/service/Trans001/ae67ea324/FULL

tôi có thể phân tích/đọc các tham số từ URL ở trên

Code:

var server = require('restify').createServer(); 
function respond(req, res, next) { 
    console.log("req.params.UID:" + req.params.UID); 
    console.log("req.params.FacebookID:" + req.params.FacebookID); 
    console.log("req.params.GetDetailType" + req.params.GetDetailType); 
} 
server.get('/service/:UID/:FacebookID/:GetDetailType', respond); 
server.listen(8080, function() { 
    console.log('%s listening at %s', server.name, server.url); 
}); 

Câu hỏi: Làm thế nào tôi có thể đọc các thông số nhiều từ URL được định dạng giống như http://www.website.com/Service.aspx?UID=Trans001&FacebookID=ae67ea324

Trả lời

71

Bạn chỉ cần tải plugin trình phân tích cú pháp truy vấn như vậy;

server.use(restify.queryParser()); 
+9

Đúng. Điều này sẽ cho phép đọc thông số chuỗi truy vấn qua req.query.my_param. –

2

Câu trả lời của Simon không còn giá trị như truy vấn của trình khôi phụcParser đã được chuyển sang gói bổ trợ lại. Các giải pháp được cập nhật là

server.use(require('restify-plugins').queryParser()); 
+5

Và bây giờ 'restify-plugins' không được chấp nhận ... giải pháp được cập nhật là ' server.use (restify.plugins.queryParser()); ' – nonexplosive

1

Restify 5 (2017) câu trả lời:

Tính đến restify 5 bạn có thể bây giờ thiết lập phân tích cú pháp truy vấn như thế này: server.use(restify.plugins.queryParser());.

Nếu bạn sử dụng plugin này, bạn có thể truy cập vào các thông số được phân tích cú pháp trong req.query.

Để biết các tùy chọn và thông tin bổ sung, hãy xem tài liệu khôi phục: http://restify.com/docs/plugins-api/#queryparser

Các vấn đề liên quan