프로젝트 의 Golang 스킬 트리

분실물 API 만들기

Go 표준 라이브러리로 읽기 전용 목록 API를 만들고, 완전한 JSON 데이터와 결합 검색 및 명확한 오류 응답을 테스트와 실제 웹사이트로 확인합니다.

프로젝트Golang

💡 이 튜토리얼은 영어로 번역되었습니다. 원본을 보려면 영어로 전환

소개

분실물 API 만들기는 Go 언어의 기초를 알고 HTTP로 유용한 데이터를 제공하려는 학습자를 위한 실습 프로젝트입니다. 지역 분실물 목록을 조회하는 읽기 전용 API를 완성한 뒤, 준비된 웹사이트에서 물품을 검색하고 상세 정보를 엽니다.

두 개의 가이드 실습에서는 물품 하나를 반환하는 정상 작동 예제부터 전체 목록 응답, 재사용 가능한 핸들러, 검색과 명확한 오류 응답까지 단계적으로 완성합니다. 하나의 독립 챌린지에서는 같은 계약을 다른 분실물 접수처에 적용합니다. 각 단원은 자체 환경과 데이터가 준비되어 시작되며 이전 실습의 파일이 필요하지 않습니다. 예상 소요 시간은 약 120~160분입니다. 이는 읽기와 일반적인 수정을 포함한 저자의 추정치입니다.

학습 내용

과정을 마치면 다음을 수행할 수 있습니다.

  • 요청 경로와 메서드를 Go HTTP 핸들러 및 JSON 응답에 연결합니다.
  • 목록의 모든 레코드를 반환하고 이름이 같아도 ID로 개별 물품을 구분합니다.
  • 카테고리와 키워드 필터를 결합하여 두 조건을 모두 만족하는 결과를 반환합니다.
  • 빈 결과 목록, 잘못된 요청, 존재하지 않는 물품, 지원하지 않는 메서드를 구분합니다.
  • httptest로 핸들러를 테스트하며 상태, 응답 내용, JSON 형태를 함께 확인합니다.
  • 제공된 목록과 페이지를 보존하면서 자신의 API를 실제로 읽는 웹사이트를 사용합니다.

추천 대상

이 과정은 익숙한 데이터 구조와 함수를 결합하여 작은 서비스를 만들 준비가 된 Go 학습자에게 적합합니다.

선수 지식: 기본 터미널 탐색과 Go 구조체, 슬라이스, map, 함수, 모듈을 알아야 합니다. HTTP 처리, JSON 인코딩, 명시적인 오류 처리, 핸들러 테스트는 사용 전에 설명합니다. 웹 프레임워크나 데이터베이스 경험은 필요하지 않습니다.

학습 환경: LabEx는 Go, 시작 코드, 목록 데이터, 브라우저 기반 WebIDE를 제공합니다. Workspace 터미널과 Lost and Found 웹사이트로 Go를 로컬에 설치하지 않고 서비스를 만들고 사용해 볼 수 있습니다. 웹사이트, 인터페이스 레이블, 명령, 프로그램 출력은 영어로 유지됩니다.

자주 묻는 질문

웹사이트도 만들어야 하나요?

웹사이트는 준비되어 있습니다. 학습자는 실제 검색 결과와 물품 상세 정보를 제공하는 Go API를 만듭니다. 페이지를 사용하면서 소비자가 자신의 응답에 어떻게 의존하는지 확인합니다.

어떤 도구를 사용하나요?

net/http, encoding/json, httptest를 비롯한 Go 표준 라이브러리를 사용합니다. 프레임워크, 데이터베이스, 인증 시스템, 동시 쓰기는 필요하지 않습니다.

챌린지에서는 무엇이 달라지나요?

이름이 같은 물품을 포함하여 레코드, 카테고리, ID가 다른 목록을 사용합니다. 이미 연습한 API 계약을 스스로 적용합니다. 과제는 계속 읽기 전용이며 목록 레코드의 추가나 삭제는 범위에 포함되지 않습니다.

강사

labby
Labby
Labby is the LabEx teacher.