>백엔드 개발 >Golang >My Go HTTP 서버가 \'text/plain\' 콘텐츠 유형에 대해 빈 응답을 반환하는 이유는 무엇입니까?

My Go HTTP 서버가 \'text/plain\' 콘텐츠 유형에 대해 빈 응답을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-31 16:45:30612검색

Why Does My Go HTTP Server Return Empty Responses with

Go에서 JSON 응답 문제 해결: 종합 가이드

이 글에서는 Go에서 JSON 응답을 생성할 때 발생하는 문제를 자세히 살펴보겠습니다. 가서 솔루션을 살펴보세요.

문제 설명:

한 개발자가 간단한 HTTP 서버를 구축하고 JSON 응답을 처리하는 동안 문제에 직면했습니다. 온라인에서 찾은 샘플과 유사한 코드를 사용했음에도 불구하고 콘텐츠 유형이 "text/plain"인 빈 응답이 반환되었습니다.

분석:

개발자의 코드와 작업 샘플에서는 미묘한 차이가 드러났습니다. 응답 본문 구조체의 변수는 개발자의 코드에서 대문자로 시작되지 않았습니다. Go에서는 JSON으로 직렬화하기 위해 구조체 필드 이름을 내보내야(대문자로 표시)해야 하므로 이는 JSON 마샬링 프로세스를 방해합니다.

해결책:

이 문제를 해결하려면 문제가 발생하면 아래와 같이 ResponseCommands 구조체의 변수를 대문자로 시작해야 합니다.

<code class="go">type ResponseCommands struct {
    Key   string
    Value bool
}</code>

이 수정을 통해 Go는 구조체 필드를 올바르게 인식하고 JSON으로 직렬화합니다. 이제 결과 응답에는 예상되는 JSON 데이터가 포함되며 콘텐츠 유형 헤더는 "application/json"으로 올바르게 설정됩니다.

위 내용은 My Go HTTP 서버가 \'text/plain\' 콘텐츠 유형에 대해 빈 응답을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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