REST API¶
개요¶
그누보드6에서는 데이터를 외부에서 읽고 쓸 수 있도록 API를 제공합니다.
설치 후에는 간단한 설정을 통해 바로 사용할 수 있습니다.
인증 (Authentication)¶
그누보드6 REST API는 보안을 위해 OAuth 2.0 인증 방식을 사용합니다.
권한이 필요한 API 요청 시, Authorization 헤더에 액세스 토큰을 포함해야 합니다.
{URL}/docs > Access/Refresh Token 발급항목을 참고하여 토큰을 발급받아야 합니다. Note
- 발급받은 토큰들은 LocalStorage 또는 쿠키에 저장하여 사용합니다.
액세스 토큰 (Access Token)¶
액세스 토큰은 사용자 인증 후 발급되며, API 호출 시 필요한 권한을 부여합니다.
토큰은 유효 기간이 있으며, 만료 시 재발급이 필요합니다.
Info
- 유효 기간 : 30분 (기본값)
리프레시 토큰 (Refresh Token)¶
리프레시 토큰은 액세스 토큰이 만료되었을 때 새로운 액세스 토큰을 발급받기 위해 사용됩니다. 리프레시 토큰은 비교적 긴 유효 기간을 가지며, 데이터베이스에 저장됩니다.
별도의 엔드포인트를 통해 새로운 액세스 토큰을 요청할 수 있습니다. (리프레시 토큰도 함께 갱신됩니다.)
Info
- 저장 테이블:
g6_member_refresh_token - 유효 기간 : 14일 (기본값)
요청 (Request)¶
각 엔드포인트에 대한 요청 형식은 다음과 같습니다.
- 헤더(Header): Authorization: Bearer {access_token}
- 파라미터(Parameters): 쿼리 스트링 또는 URL 파라미터.
- 바디(Body): JSON 형식의 데이터.
응답 (Response)¶
본문 (Body)¶
파일 다운로드를 제외한 응답의 기본 형식은 JSON으로 응답합니다. 에러 발생 시에도 에러 메시지를 동일한 형식으로 응답합니다.
// 성공
{
"categories": [
"string"
],
"board": {
"bo_table": "string",
"gr_id": "string",
"bo_subject": "string",
...
// 에러
{
"message": "string"
}
HTTP 상태 코드(Status Code)¶
| 코드 | 의미 | 설명 |
|---|---|---|
| 2XX | 성공 | 클라이언트가 요청한 동작을 수신하고 성공적으로 처리. |
| 200 | OK | 성공 |
| 201 | Created | 데이터 생성됨. 성공적으로 데이터가 입력되었습니다. |
| 4XX | 클라이언트 오류 | 요청의 문법이 잘못되었거나 요청을 처리할 수 없음. |
| 400 | Bad Request | 잘못된 요청. 서버가 요청의 구문을 인식하지 못했습니다. |
| 401 | Unauthorized | 인증되지 않은 요청. 인증과정을 거치지 않았거나 인증 정보가 유효하지 않습니다. |
| 403 | Forbidden | 권한 없음. 사용자가 리소스에 대한 필요 권한을 갖고 있지 않습니다. |
| 404 | Not Found | 데이터 없음. 요청한 리소스에 대한 정보가 존재하지 않습니다. |
| 409 | Conflict | 중복된 데이터. 요청한 데이터가 중복되어 처리되지 않습니다. |
| 422 | Unprocessable Entity | 입력 값 오류. 입력 값에 대한 형식이 잘못되었습니다. |
| 5XX | 서버 오류 | 유효한 요청에 대해 서버 처리 실패 |
| 500 | Internal Server Error | 서버 오류. 서버 로그를 확인하고 관리자에게 문의바랍니다. |

