Хорошо, поэтому я попытался повторить это и обнаружил, что я неправильно выполнял запрос AJAX, возможно, вы допустили ту же ошибку, что и я:
С аналогичной конфигурацией:
func main() {
router := gin.Default()
router.Use(cors.Default())
v1 := router.Group("/api")
{
v1.GET("/", func(c *gin.Context) {
c.String(http.StatusOK, "Hello world")
})
}
router.Run()
}
Этот запрос AJAX выдаст ошибку CORS, которую вы получаете:
$.get('http://localhost:8080/api').then(resp => {
console.log(resp);
});
Но добавление "/" в конце будет работать:
$.get('http://localhost:8080/api/').then(resp => {
console.log(resp);
});
Так что в вашем случае,попробуйте запросить URL: http://localhost:9000/api/products/
(с косой чертой в конце)
Более того, вы также можете изменить свои маршруты так:
v1 := router.Group("/api")
{
v1.GET("/products", ListOfProducts)
v1.POST("/products/post",AddProduct)
}
Таким образом, вы можете отправитьзапрос без косой черты в конце:)