Bonjour à tous,
Je travaille sur un webservice construit avec le cours sur Vapor et je souhaite filtrer les retours de ma requête avec un paramètre. Mais j’ai du mal à savoir quel composant de ma requête correspond à ma saisie pour le remettre dans le filtrer.
Un peu de code pour vous aider à comprendre :
struct MatchController: RouteCollection {
func boot(routes: RoutesBuilder) throws {
let matches = routes.grouped("matches")
matches.get(use: index)
matches.post(use: create)
matches.group(":matchID") { match in
match.delete(use: delete)
}
matches.group(":teamName") { match in
match.get(use: indexTeam)
}
}
// Je souhaite filtrer les résulats avec le paramètre du group ajouté plus haut
// -> (matches.group(":teamName") { match in match.get(use: indexTeam) }
func indexTeam(req: Request) throws -> EventLoopFuture<[Match]> {
return Match.query(on: req.db)
.sort(\.$date, .ascending)
.filter(\.$teamName, .equal, "teamName") // <- le "teamName est à changer mais par quoi ??
.all()
}
...
}
Ma requête est par exemple : http://127.0.0.1:8080/matches/SeniorM/
SeniorM correspond à mon teamName et je voudrais utiliser « SeniorM » pour filtrer mes résultats.
Si quelqu’un a une idée.
Merci d’avance.
Bonne journée
Arnaud