Lorsque vous créez une API déclenchée par Http, la fonction Azure l'héberge sur
https://[function-app-name].azurewebsites.net/api/[Route-configured-in-application]
Existe-t-il un moyen de se débarrasser du terme api de l'URL et de le faire ressembler à:
https://[function-app-name].azurewebsites.net/[Route-configured-in-application]
4 réponses
Modifiez le fichier host.json et définissez routePrefix sur une chaîne vide:
{
"http": {
"routePrefix": ""
}
}
La solution Azure Functions v2 est couverte dans cette réponse, le bit http doit être encapsulé dans une propriété d'extensions.
{
"version": "2.0",
"extensions": {
"http": {
"routePrefix": "customPrefix"
}
}
}
Vous pouvez également tirer parti de la puissance des proxys de fonction Azure pour cela, ce qui peut être préférable si vous souhaitez être explicite sur les méthodes ou les itinéraires auxquels vous souhaitez accéder.
Créez simplement un fichier proxy.json
et ajoutez-y le morceau suivant de JSON.
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"myazurefunctionproxy": {
"matchCondition": {
"methods": ["GET"],
"route": "/{slug}"
},
"backendUri": "https://%WEBSITE_HOSTNAME%/api/{slug}"
},
}
}
Cet exemple redirigera toutes les requêtes GET vers une route avec le préfixe /api/
.
La réponse acceptée ne fonctionne plus si vous utilisez les fonctions de la version 2, à la place, vous devez placer les paramètres http dans une propriété d'extensions:
"extensions": {
"http": {
"routePrefix": ""
}
}
Vous pouvez vous faire surprendre en consultant la référence hosts.json car si vous ne regardez que http section, il ne montre que les propriétés http donc assurez-vous de vérifier le début du document pour le format de haut niveau hosts.json.
De nouvelles questions
azure
Microsoft Azure est une plateforme de cloud computing Platform as a Service et Infrastructure as a Service. Utilisez cette balise pour les questions de programmation concernant Azure. L'aide générale du serveur peut être obtenue à l'adresse Super User ou Server Fault.