# API 정보 폴더
국가법령정보센터 OPEN API 정보를 구조화하여 저장하는 폴더입니다.
## 📁 파일 구조
```
api_crawler/
├── apis/ # 개별 API 파일들
│ ├── 현행법령시행일_목록_조회.json
│ ├── 현행법령공포일_목록_조회.json
│ ├── 현행법령시행일_본문_조회.json
│ └── ...
├── api_index.json # API 인덱스 (전체 목록)
├── split_apis.py # 통합 파일을 개별 파일로 분리
├── add_api.py # 새 API 추가 스크립트
└── README.md # 이 파일
```
## ⭐ 주요 파일
### `apis/` 폴더
각 API를 개별 JSON 파일로 저장합니다.
- 파일명: API 이름을 기반으로 생성 (특수문자 제거)
- 구조:
```json
{
"api_name": "API 이름",
"request_url": "요청 URL",
"request_parameters": [
{
"name": "파라미터명",
"type": "타입",
"required": true/false,
"description": "설명"
}
],
"response_fields": [...] (선택)
}
```
### `api_index.json`
전체 API 목록과 메타데이터를 관리합니다.
- 총 개수
- 각 API의 ID, 이름, 파일 경로, 파라미터 개수 등
## 📝 사용 방법
### 1. 새 API 추가 (단일)
```python
from add_api import add_api
api_data = {
"api_name": "API 이름",
"request_url": "http://...",
"request_parameters": [...],
"response_fields": [...] # 선택
}
add_api(api_data)
```
### 2. 여러 API 한번에 추가
```bash
python add_api.py api_params_structured.json
```
### 3. 통합 파일을 개별 파일로 분리
```bash
python split_apis.py
```
## 🔄 업데이트 방법
사용자가 새 API 정보를 제공하면:
1. `add_api.py`를 사용하여 `apis/` 폴더에 개별 파일로 추가
2. 또는 `api_params_structured.json`에 추가 후 `split_apis.py` 실행
3. `api_index.json`이 자동으로 업데이트됨
## 💡 장점
- **가독성**: 각 API를 개별 파일로 관리하여 찾기 쉬움
- **확장성**: 60개 이상의 API를 추가해도 관리 용이
- **유지보수**: 특정 API만 수정할 때 해당 파일만 편집
- **인덱싱**: `api_index.json`으로 전체 목록 빠르게 확인