Я новичок в golang и работаю над отдыхающим сервисом в golang, используя чи. Я пытаюсь создать маршрут, как показано ниже:
func NewRouter(dm *storage.DatabaseManager) chi.Router {
var router = chi.NewRouter()
router.Method("POST", "/restaurant/search?name={name}",
&SearchRestaurants{DB: dm})
}
Вот как я получаю из mysql db:
func (rm *RestaurantManager) SearchRestaurantsFromDB(name string)
([]Restaurant, error) {
var restaurants []Restaurant
var stmt = fmt.Sprintf(`SELECT * FROM %s WHERE name=%s `,
rm.tableName, name)
var err error
if err = rm.Select(&restaurants, stmt); err != nil {
return nil, err
}
return restaurants, nil
}
... и как я могу получить от них:
func (h SearchRestaurants) ServeHTTP(w http.ResponseWriter, r
*http.Request) {
var err error
var result []storage.Restaurant
name := r.URL.Query().Get("name")
if result, err = h.DB.SearchRestaurantsFromDB(name); err != nil {
log.Fatal("Database Error: ", err)
}
fmt.Print(result)
api.WriteJSON(w, result)
log.Print(r.RequestURI)
}
Но я пытаюсь достичь этой конечной точки, но получаю 404, не найденных: http://localhost : 8000 / project / restaurant / search? Name = {n}
Могу ли я узнать здесь проблему?
PS В главном веселье router.Mount("/project/", restaurant.NewRouter(dm))
* c.