Skip to content

REST API

개요

그누보드6에서는 데이터를 외부에서 읽고 쓸 수 있도록 API를 제공합니다.
설치 후에는 간단한 설정을 통해 바로 사용할 수 있습니다.

인증 (Authentication)

그누보드6 REST API는 보안을 위해 OAuth 2.0 인증 방식을 사용합니다.
권한이 필요한 API 요청 시, Authorization 헤더에 액세스 토큰을 포함해야 합니다.

Authorization: Bearer {access_token}
토큰을 발급받기 위해선 {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 서버 오류. 서버 로그를 확인하고 관리자에게 문의바랍니다.