


Menggunakan fungsi Golang untuk pengesahan parameter dalam get laluan API
Dalam get laluan API, menggunakan fungsi Golang untuk mengesahkan parameter permintaan API boleh: Menghalang input yang tidak sah atau berniat jahat daripada memasuki sistem bahagian belakang. Sahkan bahawa isi permintaan kosong. Sahkan bahawa medan yang diperlukan wujud. Sahkan bahawa medan berangka ialah nombor. Sahkan bahawa medan rentetan mematuhi ungkapan biasa. . Gerbang API ialah lapisan perantara yang mengurus trafik API dan menyediakan ciri keselamatan seperti pengesahan parameter. Tutorial ini akan membimbing anda tentang cara menggunakan fungsi Golang untuk mengesahkan parameter permintaan API dalam Gerbang API.
Prasyarat
Persekitaran Golang yang dipasang
Gerbang API yang digunakan Pengetahuan pengaturcaraan Golang asas
Sediakan projek baharu
:Sediakan projek baharu- Import pakej yang diperlukan :
go mod init my-validation-function
import ( "context" "errors" "fmt" "net/http" "regexp" "strconv" "github.com/cloudevents/sdk-go/v2/event" )
Tulis fungsi Golang
- Takrifkan fungsi Golang untuk mengesahkan parameter permintaan:
- Gunakan fungsi API anda sendiri gunakan mekanisme get anda sendiri, gunakan mekanisme API anda sendiri untuk mengesahkan permintaan API tertentu. Lihat dokumentasi API Gateway untuk langkah-langkah penggunaan tertentu.
-
nama diperlukan dan hanya boleh mengandungi huruf. -
name
是必填项,只能包含字母。 -
age
Hantar permintaan dengan parameter yang sah: rreee
func validate(ctx context.Context, event event.Event) (*http.Response, error) { // 获取HTTP请求正文 request := event.HTTP body := request.Body // 验证请求正文的必需字段 if body == nil || len(body) == 0 { return nil, errors.New("request body is empty") } // 获取字段值 name := request.URL.Query().Get("name") age := request.URL.Query().Get("age") // 验证字段值 if name == "" { return nil, errors.New("name is required") } if age == "" { return nil, errors.New("age is required") } // 验证age是否为数字 if _, err := strconv.Atoi(age); err != nil { return nil, errors.New("age must be a number") } // 验证name是否符合正则表达式 nameRegex := regexp.MustCompile("[a-zA-Z]+") if !nameRegex.MatchString(name) { return nil, errors.New("name must contain only letters") } // 返回验证成功的响应 return &http.Response{ StatusCode: http.StatusOK, Body: http.NoBody, }, nil }
Kes praktikal
- Andaikan anda mempunyai titik akhir API
/validate
yang menerima dua parameter pertanyaan: name
dan age
. Menggunakan fungsi Golang yang kami tulis, anda boleh mengesahkan bahawa input mematuhi peraturan berikut:
Pengesahan ujian
Uji kefungsian pengesahan menggunakan klien atau penyemak imbas REST: /validate
,接收name
和age
两个查询参数。使用我们编写的Golang函数,可以验证输入是否符合以下规则:
Hantar permintaan dengan parameter yang tidak sah kesimpulan
Dengan menggunakan fungsi Golang, anda boleh melaksanakan pengesahan parameter yang kukuh dalam get laluan API anda, memastikan kualiti data pada permintaan API dan menghalang potensi kelemahan keselamatan.
Atas ialah kandungan terperinci Menggunakan fungsi Golang untuk pengesahan parameter dalam get laluan API. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Laluan Pembelajaran Backend: Perjalanan Eksplorasi dari Front-End ke Back-End sebagai pemula back-end yang berubah dari pembangunan front-end, anda sudah mempunyai asas Nodejs, ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Giteepages Statik Laman Web Penggunaan Gagal: 404 Penyelesaian Masalah dan Resolusi Ralat Semasa Menggunakan Gitee ...

Cecair mengendalikan isu keselamatan bersamaan dalam penulisan log pelbagai proses. Proses berganda menulis fail log yang sama pada masa yang sama. Bagaimana untuk memastikan kesesuaian selamat dan cekap? Ini ...

Menjalankan projek H5 memerlukan langkah -langkah berikut: memasang alat yang diperlukan seperti pelayan web, node.js, alat pembangunan, dan lain -lain. Membina persekitaran pembangunan, membuat folder projek, memulakan projek, dan menulis kod. Mulakan pelayan pembangunan dan jalankan arahan menggunakan baris arahan. Pratonton projek dalam penyemak imbas anda dan masukkan URL Server Pembangunan. Menerbitkan projek, mengoptimumkan kod, menggunakan projek, dan menyediakan konfigurasi pelayan web.

Penghapusan automatik Golang Generik Jenis Kekangan Jenis dalam Pengguna VSCode mungkin menghadapi masalah yang aneh ketika menulis kod Golang menggunakan vscode. Bila ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...
