Create a RESTful API and implement CORS: Create a project and install dependencies. Set up HTTP routing to handle requests. Enable cross-origin resource sharing (CORS) using middlewareCORS middleware. Apply CORS middleware to the router to allow GET and OPTIONS requests from any domain.
Use Golang to build RESTful API and implement CORS
In today’s interconnected network world, build RESTful API for interoperability with other applications It is critical that programs and services exchange data. This tutorial will guide you on how to build a RESTful API using Golang and enable Cross-Origin Resource Sharing (CORS).
Prerequisites:
1. Create the project
mkdir my_rest_api && cd my_rest_api go mod init my_rest_api
2. Set up HTTP routing
Use an HTTP router (such as Gorilla Mux) to manage request routing.
package main import ( "fmt" "log" "net/http" "github.com/gorilla/mux" ) func helloWorld(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "Hello World!") } func main() { r := mux.NewRouter() r.HandleFunc("/", helloWorld).Methods(http.MethodGet) log.Fatal(http.ListenAndServe(":8080", r)) }
In the code above, the helloWorld
handler function responds to the GET request and returns a simple text message.
3. Implement CORS
Next, enable CORS to allow the API to be accessed from other domains.
func middlewareCORS(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") w.Header().Set("Access-Control-Allow-Methods", "GET, OPTIONS") if r.Method == "OPTIONS" { w.Header().Set("Access-Control-Allow-Headers", "Content-Type") } next.ServeHTTP(w, r) }) }
middlewareCORS
The function is HTTP middleware that sets the necessary CORS headers for the response. It allows GET and OPTIONS requests from any domain (Access-Control-Allow-Origin: "*").
4. Apply middleware
Apply CORS middleware to the router.
r.Use(middlewareCORS)
Practical case:
Through this RESTful API, you can query data or handle requests from other sources. For example, you can build a simple CRUD API to manage user data.
By implementing CORS, your API can interact with other applications and services from different domains, which is very important when building modern, distributed systems.
The above is the detailed content of How to build a RESTful API and implement CORS using Golang?. For more information, please follow other related articles on the PHP Chinese website!