Middleware Method Override
Selon la valeur d’un champ de formulaire, d’un en-tête ou d’un paramètre de requête, ce middleware exécute le gestionnaire de la méthode spécifiée, qui diffère de la méthode réelle de la requête, puis renvoie sa réponse.
Importation
import { Hono } from 'hono'
import { methodOverride } from 'hono/method-override'Utilisation
const app = new Hono()
// If no options are specified, the value of `_method` in the form,
// e.g. DELETE, is used as the method.
app.use('/posts', methodOverride({ app }))
app.delete('/posts', (c) => {
// ....
})Exemple
Les formulaires HTML ne peuvent pas envoyer de requête avec la méthode DELETE. Vous pouvez donc placer la valeur DELETE dans la propriété nommée _method et l’envoyer. Le gestionnaire de app.delete() sera alors exécuté.
Le formulaire HTML :
<form action="/posts" method="POST">
<input type="hidden" name="_method" value="DELETE" />
<input type="text" name="id" />
</form>L’application :
import { methodOverride } from 'hono/method-override'
const app = new Hono()
app.use('/posts', methodOverride({ app }))
app.delete('/posts', () => {
// ...
})Vous pouvez modifier les valeurs par défaut ou utiliser la valeur d’un en-tête ou d’un paramètre de requête :
app.use('/posts', methodOverride({ app, form: '_custom_name' }))
app.use(
'/posts',
methodOverride({ app, header: 'X-METHOD-OVERRIDE' })
)
app.use('/posts', methodOverride({ app, query: '_method' }))Options
obligatoire app: Hono
L’instance de Hono utilisée dans votre application.
facultatif form: string
La clé du champ de formulaire dont la valeur contient le nom de la méthode. La valeur par défaut est _method.
facultatif header: boolean
Le nom de l’en-tête dont la valeur contient le nom de la méthode.
facultatif query: boolean
La clé du paramètre de requête dont la valeur contient le nom de la méthode.