>  기사  >  백엔드 개발  >  Golang에서 HTTP 응답 상태 코드를 확인하는 방법은 무엇입니까?

Golang에서 HTTP 응답 상태 코드를 확인하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-06-05 20:28:00904검색

Golang에서 HTTP 응답 상태 코드를 확인하는 방법은 다음과 같습니다. http.Response.StatusCode를 사용하여 응답 상태 코드를 예상 값과 직접 비교합니다. 상태 코드와 오류 메시지가 포함된 사용자 정의 오류 유형을 생성하고 오류를 포착하여 상태 코드를 확인합니다.

在 Golang 中如何验证 HTTP 响应状态代码?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.