Wichtige beantworten machen: Es gibt Streit darüber, ob Iris verwenden überhaupt als Autor anscheinend gelöscht die Geschichte mehrere Male, die es schwierig macht, als eine stabile API zu verwenden. Bitte lesen Sie Why you should not use Iris for your Go und bilden sich Ihre eigene Meinung
ctx.FormValue(...)
Verwenden Sie einfach statt ctx.ParamDecoded()
:
func hi(ctx *iris.Context) {
name := ctx.FormValue("name")
ctx.Writef("Hi %s!", name)
}
Wenn es keinen solchen Formwert (das heißt Abfrageparameter) vorhanden ist, wird dies nur eine leere Zeichenfolge zurück. Wenn Sie testen möchten, ob ein Formularwert tatsächlich vorhanden ist, können Sie ctx.FormValues()
verwenden, um eine Zuordnung zu erhalten. Dies ist ein wenig komplizierter, aber, weil die Karte eine Liste von String-Werte für jeden Schlüssel enthält:
func hi(ctx *iris.Context) {
form := ctx.FormValues()
names, ok := form["name"]
name := ""
if !ok { // No name parameter
name = "<unknown>"
} else { // At least one name
name = names[0]
}
ctx.Writef("Hi %s!", name)
}
benutzen Sie bitte Iris nicht: https://github.com/julienschmidt/httprouter/issues/ 148 und http://www.florinpatan.ro/2016/10/why-you-should-not-use-iris-for-your-go.html –
@YandryPozo Vielen Dank, ich war mir dessen nicht bewusst. Ich werde mir die von Ihnen geposteten Links genauer ansehen! –
@YandryPozo Ich lese die Links und in der Tat bin ich jetzt davon überzeugt, dass Iris keine gute Lösung für mich und wahrscheinlich auch nicht für andere Leute ist. Ich habe eine Bemerkung zu meiner Lösung hinzugefügt, damit andere Personen auf diese Probleme aufmerksam werden. Danke! –