Golang에서 HTTP 응답 상태 코드를 확인하는 방법은 다음과 같습니다. http.Response.StatusCode를 사용하여 응답 상태 코드를 예상 값과 직접 비교합니다. 상태 코드와 오류 메시지가 포함된 사용자 정의 오류 유형을 생성하고 오류를 포착하여 상태 코드를 확인합니다.
Golang에서 HTTP 응답 상태 코드를 확인하는 방법
Golang에서 net/http
패키지를 사용하여 HTTP 요청을 보낼 때 응답 상태 코드를 확인하는 것이 매우 중요합니다. 이는 서버 측 오류, 구성 문제 및 기타 네트워크 문제를 처리하는 데 도움이 됩니다. net/http
包发送 HTTP 请求时,验证响应状态代码非常重要。这有助于处理服务器端错误、配置问题和其他网络问题。
使用 http.Response.StatusCode
http.Response
类型包含一个 StatusCode
字段,表示 HTTP 响应的状态代码。要验证状态代码,可以简单地比较 StatusCode
与预期的值:
package main import ( "fmt" "net/http" "net/http/httptest" ) func main() { // 创建一个模拟响应 resp := httptest.NewRecorder() // 设置状态代码 resp.WriteHeader(http.StatusOK) if resp.Code == http.StatusOK { fmt.Println("成功") } }
使用自定义错误类型
另一种验证响应状态代码的方法是创建一个自定义错误类型,其中包含状态代码和错误消息:
package main import ( "errors" "fmt" "net/http" ) type HTTPError struct { Code int Msg string } func (e HTTPError) Error() string { return fmt.Sprintf("HTTP Error: %d - %s", e.Code, e.Msg) } func main() { // 发送请求并捕获响应 resp, err := http.Get("https://example.com") if err != nil { fmt.Println(err) return } if resp.StatusCode != http.StatusOK { // 创建自定义错误 err = HTTPError{Code: resp.StatusCode, Msg: "请求失败"} fmt.Println(err) } }
实战案例
以下是使用 http.Response.StatusCode
http.Response.StatusCode
사용
http.Response
유형에는 HTTP의 상태 코드를 나타내는 StatusCode
필드가 포함되어 있습니다. 응답. 상태 코드를 확인하려면 StatusCode
를 예상 값과 간단히 비교할 수 있습니다. 🎜func GetUserData(userID int) (UserData, error) { resp, err := http.Get(fmt.Sprintf("https://myapi.com/users/%d", userID)) if err != nil { return UserData{}, err } if resp.StatusCode != http.StatusOK { return UserData{}, fmt.Errorf("请求失败: %d", resp.StatusCode) } // 解析响应并返回数据 }🎜🎜사용자 정의 오류 유형 사용 🎜🎜🎜응답 상태 코드를 확인하는 또 다른 방법은 사용자 정의 오류 유형을 생성하는 것입니다. , 상태 코드와 오류 메시지가 포함되어 있습니다: 🎜rrreee🎜🎜실용 사례 🎜🎜🎜다음은
http.Response.StatusCode
를 사용하여 상태 코드를 확인하는 실제 사례입니다. 🎜🎜가정 API는 HTTP GET을 사용하여 데이터베이스에서 데이터를 검색하는 API를 개발 중입니다. 요청이 성공적으로 완료되었는지 확인하려면 응답 상태 코드를 확인해야 합니다. 🎜rrreee🎜 응답 상태 코드를 확인하면 서버가 요청을 성공적으로 처리한 경우에만 데이터가 반환되도록 할 수 있습니다. 🎜위 내용은 Golang에서 HTTP 응답 상태 코드를 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!