오늘의 명언 API
엔드포인트
GET /api/v1/quote-of-the-day
파라미터
| 파라미터 | 타입 | 기본값 | 설명 |
|---|---|---|---|
language |
string | - | 언어 필터 (ko, en) |
예시
curl -H "Authorization: Bearer im_live_xxxx..." \
"https://inspireme.advenoh.pe.kr/api/v1/quote-of-the-day?language=ko"
응답
{
"data": {
"id": "q-abc123",
"content": "오늘도 좋은 하루 되세요",
"author": "소크라테스",
"language": "ko",
"topics": ["motivation"],
"tags": ["daily"],
"date": "2026-03-08"
}
}
동작 방식
- 매일 날짜 기반 해시로 명언이 결정적(deterministic)으로 선택됩니다.
- 같은 날짜에는 모든 사용자에게 동일한 명언이 반환됩니다.
language미지정 시 전체 언어 풀에서 선택됩니다.
응답 필드 설명
실제 응답에는 문서 예시보다 더 많은 필드가 포함됩니다.
| 필드 | 타입 | 설명 |
|---|---|---|
id |
string | 명언 고유 ID |
content |
string | 명언 본문 |
author |
string | 저자 이름 |
authorId |
string | 저자 ID |
authorInfo |
object | 저자 상세 정보 (이름, 국적, 생몰년 등) |
language |
string | 원본 언어 |
topics |
string[] | 토픽 목록 |
tags |
string[] | 태그 목록 |
translations |
array | 다국어 번역 목록 (lang, content) |
date |
string | 오늘 날짜 (YYYY-MM-DD) |
backgroundImageUrl |
string? | 배경 이미지 URL |
createdAt |
string | 생성 일시 |
updatedAt |
string | 수정 일시 |
캐싱
오늘의 명언은 24시간 동안 Redis에 캐싱됩니다.
- 캐시 키:
public:qotd:{language}(언어별 분리) - TTL: 24시간
- 갱신: 새로운 날짜에 첫 요청 시 자동 갱신
응답 헤더의 X-Cache 값으로 캐시 상태를 확인할 수 있습니다.
X-Cache: HIT— 캐시에서 응답 (빠름)X-Cache: MISS— DB에서 조회 후 캐싱 (첫 요청)
팁: 오늘의 명언은 하루에 한 번만 변경되므로, 클라이언트에서도 캐싱하여 불필요한 API 호출을 줄이세요.