2017-02-16 30 views
1
func main() { 

    beego.Router("/", &MainController{}) 
    beego.Router("/userid/", &SqlController{}) 
    beego.Run() 

} 

это прекрасно работает для URL «http://localhost:8080/userid» , но если я хочу значение идентификатора пользователя, чтобы быть динамическим напр «http://localhost:8080?userid=1» я не мог, как о достижении этого, используя маршрутизатор в пути.Does Go или Beego поддерживает динамическую маршрутизацию URL, например id =?

ответ

1

Распаковка xxx из ?id=xxx о параметре запроса разборе, вы можете получить примеры в beego's document.

Маршрутизация (в вашем контексте) - это сопоставление запросов, соответствующих определенному шаблону, соответствующим действиям. Когда id отличается, я полагаю, что вы не хотите, чтобы они сопоставлялись с разными действиями. Поэтому его не следует называть маршрутизацией. Это просто парсинг параметров.

0

Не уверен beego, но с использованием идти HTTP-запрос вы можете получить доступ к параметрам запроса, как этот request.URL.Query(), где request имеет тип *http.Request. Что вы хотите - это в основном параметры запроса из URL? Таким образом, вы получаете объект URL из запроса и затем получаете доступ к параметрам запроса. Метод Query() возвращает map[string][]string

+0

nope это я пробовал ... будет производить нарушение сегментации panic – gophervk

+0

Я использую gorilla mux и golang http package, и он хорошо работает для меня. –