Colección de citas famosas - Slogan de motivación - ¿Cómo acepta golang los datos pasados ​​por cartero en el método?

¿Cómo acepta golang los datos pasados ​​por cartero en el método?

Lo que se está haciendo es vincular la ruta completa a procesar. /ubicación/{titanrolex}GetUser. Lo que realmente desea es vincular /ubicación/ para que sea manejado por un controlador (por ejemplo, LocationHandler).

Puedes hacer esto usando la biblioteca estándar u otro enrutador. Presentaré dos formas:

Biblioteca estándar:

import(

fmt

net//julienschmidt//julienschmidt// http

log

)

funcLocationHandler(whttp.ResponseWriter,r*http.Request,pshttprouter.Params){

fmt. (w,Ubicación:%s\n,ps.ByName(loc))

}

funcmain(){

router:=httprouter.New ( )

enrutador.GET(/ubicación/:loc,LocationHandler)

log.Fatal(http.ListenAndServe(:8080,enrutador))

}

Tenga en cuenta que httprouter utiliza una firma ligeramente diferente para los controladores. Esto se debe a que, como puedes ver, también pasa estos parámetros a la función.

Ah, y una nota más, puedes presionar http://localhost:8080/location/titanrolex con tu navegador (o algo así); si lo otro es lo suficientemente bueno, URLEncode estará codificado. como http://localhost:8080/location/titan%20rolex.