Enrutamiento de objetos
Objeto de enrutamiento del controlador de mensajes
El objeto de enrutamiento eshttpEl objeto principal del procesamiento de mensajes es que el servidor coincide según la configuración de enrutamiento.urly método, y voluntadhttpLos mensajes se reenvían a los procesadores correspondientes para completar diferentes transacciones.
Se puede proporcionar una ruta simple directamente como un objeto JSON, como por ejemplo:
1
2
3
4
5
6
7
8var http = require('http');
var svr = new http.Server(8080, {
'/': r => r.response.write('home'),
'/help': r => r.response.write('help')
});
svr.start();
Si necesita una personalización de enrutamiento más compleja, puede crear un objeto de enrutamiento usted mismo y manejar la estrategia de enrutamiento según sea necesario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22var http = require('http');
var mq = require('mq');
var app = new mq.Routing();
app.get('/', r => r.response.write('home'));
app.get('/help', r => r.response.write('help'));
app.post('/help', r => r.response.write('post a help.'));
app.get('/home/:user', (r, user) => r.response.write('hello ' + user));
app.get('/user/:id(\\d+)', (r, id) => r.response.write('get ' + id));
app.get('/actions', {
'/run': r => r.response.write('running'),
'/sleep': r => r.response.write('sleeping'),
'(.*)': r => r.response.write('........')
});
var svr = new http.Server(8080, app);
svr.start();
El objeto de enrutamiento hace coincidir el mensaje de acuerdo con las reglas establecidas y entrega el mensaje al primer procesador que cumple las reglas. Las reglas de enrutamiento agregadas más tarde coincidirán primero. Método de creación:
1
2
3
4var routing = new mq.Routing({
"^/func1(/.*)$": func1,
"^/func2(/.*)$": func2
});
Los elementos que coinciden con la expresión regular modifican el atributo de valor del mensaje y los subelementos se almacenan en el atributo de parámetros del mensaje. Por ejemplo:
1
2
3var routing = new mq.Routing({
"^/func1(/([0-9]+)/([0-9]+)\.html)$": func1,
});
Después de hacer coincidir el mensaje "/func1/123/456.html", value == "/123/456.html", params == ["123", "456"];
Si el resultado coincidente no tiene hijos, el valor está vacío y los parámetros están vacíos. Por ejemplo:
1
2
3var routing = new mq.Routing({
"^/func1/[0-9]+/[0-9]+\.html$": func1,
});
Después de hacer coincidir el mensaje "/func1/123/456.html", value == "", params == [];
Si el resultado coincidente tiene varios subelementos en el primer nivel, el valor está vacío y params es el subelemento del primer nivel. Por ejemplo:
1
2
3var routing = new mq.Routing({
"^/func1/([0-9]+)/([0-9]+)\.html$": func1,
});
Después de hacer coincidir el mensaje "/func1/123/456.html", value == "", params == ["123", "456"];
Si el resultado coincidente tiene solo una subclave y ninguna subclave subordinada, tanto el valor como los parámetros son esta subclave. Por ejemplo:
1
2
3var routing = new mq.Routing({
"^/func1/([0-9]+)/[0-9]+\.html$": func1,
});
Después de hacer coincidir el mensaje "/func1/123/456.html", value == "123", params == ["123"];
relación de herencia
Constructor
Routing
Crear un objeto de enrutamiento del controlador de mensajes
1new Routing(Object map = {});
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento de inicialización
Crear un objeto de enrutamiento del controlador de mensajes
1
2new Routing(String method,
Object map);
Parámetros de llamada:
- method: Cadena, especifiquehttpMétodo de solicitud, "*" acepta todos los métodos
- map: Objeto, parámetros de enrutamiento de inicialización
función miembro
append
Agregue reglas de objetos de ruta existentes. Después de agregarlas, las rutas originales se borrarán.
1Routing Routing.append(Routing route);
Parámetros de llamada:
- route: Enrutamiento, objeto de enrutamiento inicializado
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Agregar un conjunto de reglas de enrutamiento
1Routing Routing.append(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Agregar una regla de enrutamiento
1
2Routing Routing.append(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Agregar una regla de enrutamiento
1
2
3Routing Routing.append(String method,
String pattern,
Handler hdlr);
Parámetros de llamada:
- method: Cadena, especifiquehttpMétodo de solicitud, "*" acepta todos los métodos, "host" especifica el nombre de dominio virtual
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
host
agregar un grupohttpReglas de enrutamiento de nombres de dominio
1Routing Routing.host(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpReglas de enrutamiento de nombres de dominio
1
2Routing Routing.host(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
all
Añade un grupo para aceptar todohttpReglas de enrutamiento de métodos
1Routing Routing.all(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añade una línea para aceptar todohttpReglas de enrutamiento de métodos
1
2Routing Routing.all(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
get
Agregue un conjunto de reglas de enrutamiento del método GET
1Routing Routing.get(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpGET reglas de enrutamiento del método
1
2Routing Routing.get(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
post
Agregar un conjunto de aceptahttpReglas de enrutamiento del método POST
1Routing Routing.post(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpReglas de enrutamiento del método POST
1
2Routing Routing.post(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
del
Agregar un conjunto de aceptahttpDELETE reglas de enrutamiento del método
1Routing Routing.del(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpDELETE reglas de enrutamiento del método
1
2Routing Routing.del(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
put
Agregue un conjunto de reglas de enrutamiento del método PUT
1Routing Routing.put(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpReglas de enrutamiento del método PUT
1
2Routing Routing.put(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
patch
Agregue un conjunto de reglas de enrutamiento del método PATCH
1Routing Routing.patch(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpReglas de enrutamiento del método PATCH
1
2Routing Routing.patch(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
find
Agregue un conjunto de reglas de enrutamiento del método FIND
1Routing Routing.find(Object map);
Parámetros de llamada:
- map: Objeto, parámetros de enrutamiento
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
Añadir una aceptaciónhttpENCONTRAR reglas de enrutamiento del método
1
2Routing Routing.find(String pattern,
Handler hdlr);
Parámetros de llamada:
- pattern: Cadena, formato de coincidencia de mensajes
- hdlr:Handler, procesador de mensajes incorporado, función de procesamiento, matriz de procesamiento en cadena, objeto de enrutamiento, ver detallesmq.Handler
Resultados de devolución:
- Routing, devuelve el objeto de ruta en sí
invoke
Procesar un mensaje u objeto
1Handler Routing.invoke(object v) async;
Parámetros de llamada:
- v:object, especifique el mensaje u objeto a procesar
Resultados de devolución:
- Handler, volver al siguiente procesador
toString
Devuelve la representación de cadena del objeto. Generalmente, se devuelve "[Objeto nativo]". El objeto se puede volver a implementar de acuerdo con sus propias características.
1String Routing.toString();
Resultados de devolución:
- String, devuelve la representación de cadena del objeto
toJSON
Devuelve una representación en formato JSON del objeto, que generalmente devuelve una colección de propiedades legibles definidas por el objeto.
1Value Routing.toJSON(String key = "");
Parámetros de llamada:
- key: Cadena, no utilizada
Resultados de devolución:
- Value, devuelve un valor que contiene JSON serializable