ObjectRouting
Routeringsobject voor berichtenhandler
Het routeringsobject ishttpHet kernobject van de berichtverwerking, de server, matcht volgens de routeringsinstellingenurlen methode, en wilhttpBerichten worden doorgestuurd naar overeenkomstige processors om verschillende transacties te voltooien.
Een eenvoudige route kan direct als JSON-object worden aangeleverd, zoals:
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();
Als u complexere routeringsaanpassingen nodig heeft, kunt u zelf een Routing-object maken en indien nodig de routeringsstrategie afhandelen:
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();
Het routingobject matcht het bericht volgens de gestelde regels en levert het bericht af bij de eerste processor die aan de regels voldoet. Later toegevoegde routeringsregels worden als eerste gematcht. Aanmaakmethode:
1
2
3
4var routing = new mq.Routing({
"^/func1(/.*)$": func1,
"^/func2(/.*)$": func2
});
De items die overeenkomen met de reguliere expressie wijzigen het waarde-attribuut van het bericht, en de subitems worden opgeslagen in het params-attribuut van het bericht. Bijvoorbeeld:
1
2
3var routing = new mq.Routing({
"^/func1(/([0-9]+)/([0-9]+)\.html)$": func1,
});
Na het matchen van het bericht "/func1/123/456.html", value == "/123/456.html", params == ["123", "456"];
Als het overeenkomende resultaat geen onderliggende waarden heeft, is de waarde leeg en zijn params leeg. Bijvoorbeeld:
1
2
3var routing = new mq.Routing({
"^/func1/[0-9]+/[0-9]+\.html$": func1,
});
Na het matchen van het bericht "/func1/123/456.html", value == "", params == [];
Als het overeenkomende resultaat meerdere subitems op het eerste niveau bevat, is waarde leeg en is params het subitem van het eerste niveau. Bijvoorbeeld:
1
2
3var routing = new mq.Routing({
"^/func1/([0-9]+)/([0-9]+)\.html$": func1,
});
Na het matchen van het bericht "/func1/123/456.html", value == "", params == ["123", "456"];
Als het overeenkomende resultaat slechts één subsleutel en geen ondergeschikte subsleutels heeft, zijn zowel de waarde als de parameters deze subsleutel. Bijvoorbeeld:
1
2
3var routing = new mq.Routing({
"^/func1/([0-9]+)/[0-9]+\.html$": func1,
});
Na het matchen van het bericht "/func1/123/456.html", value == "123", params == ["123"];
erfenis relatie
Constructeur
Routing
Maak een routeringsobject voor de berichthandler
1new Routing(Object map = {});
Oproepparameters:
- map: Object, initialisatierouteringsparameters
Maak een routeringsobject voor de berichthandler
1
2new Routing(String method,
Object map);
Oproepparameters:
- method: Tekenreeks, specificeerhttpVerzoekmethode, "*" accepteert alle methoden
- map: Object, initialisatierouteringsparameters
lid functie
append
Regels uit bestaande routeobjecten toevoegen. Na het toevoegen worden de oorspronkelijke routes gewist.
1Routing Routing.append(Routing route);
Oproepparameters:
- route: Routering, geïnitialiseerd routeringsobject
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een set routeringsregels toe
1Routing Routing.append(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een routeringsregel toe
1
2Routing Routing.append(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een routeringsregel toe
1
2
3Routing Routing.append(String method,
String pattern,
Handler hdlr);
Oproepparameters:
- method: Tekenreeks, specificeerhttpAanvraagmethode, "*" accepteert alle methoden, "host" specificeert de virtuele domeinnaam
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
host
een groep toevoegenhttpRegels voor het routeren van domeinnamen
1Routing Routing.host(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpRegels voor het routeren van domeinnamen
1
2Routing Routing.host(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
all
Voeg een groep toe om alles te accepterenhttpMethoderouteringsregels
1Routing Routing.all(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een regel toe om alles te accepterenhttpMethoderouteringsregels
1
2Routing Routing.all(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
get
Voeg een set GET-methoderouteringsregels toe
1Routing Routing.get(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpGET-methoderouteringsregels
1
2Routing Routing.get(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
post
Voeg een set acceptaties toehttpPOST-methode routeringsregels
1Routing Routing.post(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpPOST-methode routeringsregels
1
2Routing Routing.post(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
del
Voeg een set acceptaties toehttpDELETE methoderouteringsregels
1Routing Routing.del(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpDELETE methoderouteringsregels
1
2Routing Routing.del(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
put
Voeg een set PUT-methoderouteringsregels toe
1Routing Routing.put(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpPUT-methoderouteringsregels
1
2Routing Routing.put(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
patch
Voeg een set routeringsregels voor de PATCH-methode toe
1Routing Routing.patch(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpPATCH-methoderouteringsregels
1
2Routing Routing.patch(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
find
Voeg een set FIND-methoderouteringsregels toe
1Routing Routing.find(Object map);
Oproepparameters:
- map: Object, routeringsparameters
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
Voeg een acceptatie toehttpFIND-methoderouteringsregels
1
2Routing Routing.find(String pattern,
Handler hdlr);
Oproepparameters:
- pattern: Tekenreeks, overeenkomend berichtformaat
- hdlr:Handler, ingebouwde berichtenprocessor, verwerkingsfunctie, ketenverwerkingsarray, routeringsobject, zie detailsmq.Handler
Resultaten retourneren:
- Routing, retourneert het routeobject zelf
invoke
Verwerk een bericht of object
1Handler Routing.invoke(object v) async;
Oproepparameters:
- v:object, geef het bericht of object op dat moet worden verwerkt
Resultaten retourneren:
- Handler, ga terug naar de volgende processor
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String Routing.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value Routing.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat