[AI.CHOA] 인생고민, 무엇이든 물어 보세요! · Acciones GPT
CHOA Contents API
만세력, 사주, 주역 정보를 제공하는 Restful API 서버입니다.
GET /api/manse/calendarGet Manse Info주어진 날짜에 대한 만세력 정보를 반환합니다. Args: calendar_type (str): 달력 유형 ("solar" 또는 "lunar") year (int): 년도 month (int): 월 day (int): 일 session (AsyncSession): 데이터베이스 세션 Returns: ManseCalendarResponse: 만세력 정보 Raises: HTTPException: 잘못된 달력 유형이나 해당 날짜의 정보를 찾을 수 없는 경우 에러를 발생시킵니다.
GET /api/saju/iljuGet Saju Ilju Info주어진 한글 일간지에 대한 사주 정보를 반환합니다. Args: ilju_name (str): 한글로 된 일간지 이름 session (AsyncSession): 데이터베이스 세션 Returns: SajuIlju: 사주 일주 정보 Raises: HTTPException: 해당 일주 정보를 찾을 수 없는 경우 404 에러를 발생시킵니다.
GET /api/iching/askGet Hexagram Interpretation주역 점괘를 생성하고 해석합니다. 이 엔드포인트는 다음 단계를 수행합니다: 1. 새로운 괘를 생성합니다. 2. 생성된 괘를 해석합니다. 3. 해석 결과를 반환합니다. Returns: IchingResponse: 해석된 점괘 정보 Raises: HTTPException: 점괘를 찾을 수 없는 경우 404 에러를 발생시킵니다.
GET /api/healthHealth Check상태 확인 엔드포인트
GET /Root루트 경로 핸들러
Esquema original API
{
"openapi": "3.1.0",
"info": {
"title": "CHOA Contents API",
"description": "만세력, 사주, 주역 정보를 제공하는 Restful API 서버입니다.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://choa.modusaju.com",
"description": "Choa Production server"
}
],
"paths": {
"/api/manse/calendar": {
"get": {
"tags": [
"만세력"
],
"summary": "Get Manse Info",
"description": "주어진 날짜에 대한 만세력 정보를 반환합니다.\n\nArgs:\n calendar_type (str): 달력 유형 (\"solar\" 또는 \"lunar\")\n year (int): 년도\n month (int): 월\n day (int): 일\n session (AsyncSession): 데이터베이스 세션\n\nReturns:\n ManseCalendarResponse: 만세력 정보\n\nRaises:\n HTTPException: 잘못된 달력 유형이나 해당 날짜의 정보를 찾을 수 없는 경우 에러를 발생시킵니다.",
"operationId": "get_manse_calendar",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "calendar_type",
"in": "query",
"required": true,
"schema": {
"enum": [
"solar",
"lunar"
],
"type": "string",
"description": "달력 유형: 'solar' 또는 'lunar'",
"title": "Calendar Type"
},
"description": "달력 유형: 'solar' 또는 'lunar'"
},
{
"name": "year",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"description": "년도",
"title": "Year"
},
"description": "년도"
},
{
"name": "month",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"description": "월",
"title": "Month"
},
"description": "월"
},
{
"name": "day",
"in": "query",
"required": true,
"schema": {
"type": "integer",
"description": "일",
"title": "Day"
},
"description": "일"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ManseCalendarResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/saju/ilju": {
"get": {
"tags": [
"사주"
],
"summary": "Get Saju Ilju Info",
"description": "주어진 한글 일간지에 대한 사주 정보를 반환합니다.\n\nArgs:\n ilju_name (str): 한글로 된 일간지 이름\n session (AsyncSession): 데이터베이스 세션\n\nReturns:\n SajuIlju: 사주 일주 정보\n\nRaises:\n HTTPException: 해당 일주 정보를 찾을 수 없는 경우 404 에러를 발생시킵니다.",
"operationId": "get_saju_ilju",
"security": [
{
"APIKeyHeader": []
}
],
"parameters": [
{
"name": "ilju_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Ilju Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SajuIlju"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/iching/ask": {
"get": {
"tags": [
"주역"
],
"summary": "Get Hexagram Interpretation",
"description": "주역 점괘를 생성하고 해석합니다.\n\n이 엔드포인트는 다음 단계를 수행합니다:\n1. 새로운 괘를 생성합니다.\n2. 생성된 괘를 해석합니다.\n3. 해석 결과를 반환합니다.\n\nReturns:\n IchingResponse: 해석된 점괘 정보\n\nRaises:\n HTTPException: 점괘를 찾을 수 없는 경우 404 에러를 발생시킵니다.",
"operationId": "get_hexagram_interpretation",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IchingResponse"
}
}
}
}
},
"security": [
{
"APIKeyHeader": []
}
]
}
},
"/api/health": {
"get": {
"summary": "Health Check",
"description": "상태 확인 엔드포인트",
"operationId": "health_check_api_health_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
},
"/": {
"get": {
"summary": "Root",
"description": "루트 경로 핸들러",
"operationId": "root__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
}
}
}
}
},
"components": {
"schemas": {
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"HexagramInfo": {
"properties": {
"no": {
"type": "integer",
"title": "No"
},
"name": {
"type": "string",
"title": "Name"
},
"chinese": {
"type": "string",
"title": "Chinese"
},
"english": {
"type": "string",
"title": "English"
},
"hexagram_image": {
"type": "string",
"title": "Hexagram Image"
},
"binary": {
"type": "string",
"title": "Binary"
},
"lucky_type": {
"type": "string",
"title": "Lucky Type"
},
"divination": {
"type": "string",
"title": "Divination"
}
},
"type": "object",
"required": [
"no",
"name",
"chinese",
"english",
"hexagram_image",
"binary",
"lucky_type",
"divination"
],
"title": "HexagramInfo"
},
"IchingResponse": {
"properties": {
"hexagram": {
"$ref": "#/components/schemas/HexagramInfo"
},
"lines": {
"items": {
"$ref": "#/components/schemas/LineInfo"
},
"type": "array",
"title": "Lines"
},
"transformed_hexagram": {
"anyOf": [
{
"$ref": "#/components/schemas/HexagramInfo"
},
{
"type": "null"
}
]
},
"transform_lines": {
"anyOf": [
{
"items": {
"$ref": "#/components/schemas/LineInfo"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Transform Lines"
}
},
"type": "object",
"required": [
"hexagram",
"lines"
],
"title": "IchingResponse",
"description": "주역 점괘 해석 결과를 표현하는 모델입니다."
},
"LineInfo": {
"properties": {
"line_no": {
"type": "integer",
"title": "Line No"
},
"type": {
"type": "string",
"title": "Type"
},
"divination": {
"type": "string",
"title": "Divination"
}
},
"type": "object",
"required": [
"line_no",
"type",
"divination"
],
"title": "LineInfo"
},
"ManseCalendarResponse": {
"properties": {
"solar_year": {
"type": "integer",
"title": "Solar Year"
},
"solar_month": {
"type": "integer",
"title": "Solar Month"
},
"solar_day": {
"type": "integer",
"title": "Solar Day"
},
"lunar_year": {
"type": "integer",
"title": "Lunar Year"
},
"lunar_month": {
"type": "integer",
"title": "Lunar Month"
},
"lunar_day": {
"type": "integer",
"title": "Lunar Day"
},
"hanja_year_ganji": {
"type": "string",
"title": "Hanja Year Ganji"
},
"hangul_year_ganji": {
"type": "string",
"title": "Hangul Year Ganji"
},
"hanja_month_ganji": {
"type": "string",
"title": "Hanja Month Ganji"
},
"hangul_month_ganji": {
"type": "string",
"title": "Hangul Month Ganji"
},
"hanja_day_ganji": {
"type": "string",
"title": "Hanja Day Ganji"
},
"hangul_day_ganji": {
"type": "string",
"title": "Hangul Day Ganji"
},
"hanja_weekday": {
"type": "string",
"title": "Hanja Weekday"
},
"hangul_weekday": {
"type": "string",
"title": "Hangul Weekday"
}
},
"type": "object",
"required": [
"solar_year",
"solar_month",
"solar_day",
"lunar_year",
"lunar_month",
"lunar_day",
"hanja_year_ganji",
"hangul_year_ganji",
"hanja_month_ganji",
"hangul_month_ganji",
"hanja_day_ganji",
"hangul_day_ganji",
"hanja_weekday",
"hangul_weekday"
],
"title": "ManseCalendarResponse",
"description": "만세력 정보 응답을 위한 모델입니다."
},
"SajuIlju": {
"properties": {
"id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Id",
"description": "고유 식별자"
},
"ilju_hangul": {
"type": "string",
"maxLength": 10,
"title": "Ilju Hangul",
"description": "일주(한글)"
},
"ilju_hanja": {
"type": "string",
"maxLength": 10,
"title": "Ilju Hanja",
"description": "일주(한자)"
},
"personality_analysis": {
"type": "string",
"title": "Personality Analysis",
"description": "성격 분석"
},
"career_and_job_choice": {
"type": "string",
"title": "Career And Job Choice",
"description": "진로 및 직업선택"
},
"interpersonal_relationships": {
"type": "string",
"title": "Interpersonal Relationships",
"description": "대인 관계"
},
"health_management": {
"type": "string",
"title": "Health Management",
"description": "건강 관리"
},
"wealth_and_financial_strategy": {
"type": "string",
"title": "Wealth And Financial Strategy",
"description": "재물운과 재테크"
},
"education_and_self_improvement": {
"type": "string",
"title": "Education And Self Improvement",
"description": "학업 및 자기계발"
},
"periodic_fortune_analysis": {
"type": "string",
"title": "Periodic Fortune Analysis",
"description": "시기별 운세분석"
},
"family_relationships": {
"type": "string",
"title": "Family Relationships",
"description": "가족관계"
},
"startup_and_business_operation": {
"type": "string",
"title": "Startup And Business Operation",
"description": "창업 및 사업운영"
},
"mental_spiritual_growth": {
"type": "string",
"title": "Mental Spiritual Growth",
"description": "정신적 영적성장"
}
},
"type": "object",
"required": [
"ilju_hangul",
"ilju_hanja",
"personality_analysis",
"career_and_job_choice",
"interpersonal_relationships",
"health_management",
"wealth_and_financial_strategy",
"education_and_self_improvement",
"periodic_fortune_analysis",
"family_relationships",
"startup_and_business_operation",
"mental_spiritual_growth"
],
"title": "SajuIlju",
"description": "사주 일주 정보를 저장하는 모델입니다."
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
}
},
"securitySchemes": {
"APIKeyHeader": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key"
}
}
}
}