2017-01-24 5 views
0

Ich schreibe sailsJs API und ich brauche die folgenden zwei Routen zum selben Controller-Aktion zu binden:Können zwei Routen die gleiche Controller-Aktion in SailsJs verwenden?

'GET /user/count': 'UserController.getUserCount', 
'GET /user/count/:role': 'UserController.getUserCount', 

Und in der Aktion, die ich, ob eine Rolle angegeben überprüfen wollen oder nicht, und die Gesamt schicken Benutzeranzahl, wenn keine Rolle angegeben ist, und geben Sie die Benutzeranzahl für eine Rolle an, wenn die Rolle angegeben ist. Die Controller-Aktion wird wie folgt vor:

getUserCount: function(request, response){ 
    var role = request.params.role; 
    var query = {}; 
    if (role != null){ 
     query.role = role; 
    } 
    User.count(query).exec(function countCB(error, count) { 
     console.log('There are ' + count + ' users.'); 
     response.json(count); 
    }); 
},  

Ist das möglich zu implementieren?

+0

Ja, das ist möglich. Stehen Sie vor einem Problem? – Sangharsh

+0

Wenn ich die Route ohne Request-Parameter verwende, gibt es null für die Variable 'role'? –

+0

Ich konnte keine Dokumentation oder Diskussion zu diesem Thema finden. Darum habe ich gefragt. danke btw –

Antwort

3

Ja, es ist erlaubt.

Keine Probleme beim Binden mehrerer Routen an die gleiche Controller-Aktion.

Verwandte Themen