그누보드5의 API 생성 및 관리 > 그누보드5 플러그인

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.

그누보드5의 API 생성 및 관리 정보

그누보드5의 API 생성 및 관리

본문

manus 1.6 Max를 통해 만든 그누보드5 api입니다.
기존 php+html의 페이지 대신 php기반 api+htmx로 더 빠르게 개발을 진행, 페이지를 로딩할 수 있을 듯 합니다.
테스트 해보니 잘 작동하는 것 같습니다,

크레딧이 딸려서 관리자 페이지가 썩 잘 만들어지지는 않았네요.

호환: 그누5 최신 + php8.2

 

그누보드5 API


그누보드5의 모든 기능을 API로 제공하는 독립적인 API 레이어입니다.

특징


•코어 독립성: 그누보드5 코어 파일을 수정하지 않고 독립적으로 작동
•업데이트 호환: 그누보드5 개발사의 코어 업데이트에 영향받지 않음
•HTMX 친화적: JSON 및 HTML 응답 형식 지원
•관리자 통합: 그누보드5 관리자 페이지에서 API 관리 가능

디렉토리 구조


Plain Text
/api ├── config.php # API 설정 파일 ├── index.php # API 메인 엔드포인트 ├── README.md # 이 문서 ├── core/ # 코어 클래스 │ ├── ApiBase.php # API 기본 클래스 │ └── init.php # 초기화 파일 ├── auth/ # 인증 API ├── member/ # 회원 API ├── board/ # 게시판 API ├── write/ # 게시글 API ├── comment/ # 댓글 API ├── point/ # 포인트 API ├── memo/ # 쪽지 API ├── scrap/ # 스크랩 API ├── search/ # 검색 API ├── popular/ # 인기검색어 API ├── poll/ # 투표 API ├── qa/ # Q&A API ├── content/ # 컨텐츠 API ├── faq/ # FAQ API ├── menu/ # 메뉴 API ├── visit/ # 방문자 API ├── config/ # 설정 API ├── file/ # 파일 API ├── latest/ # 최신글 API └── new/ # 새글 API

설치


1./api 디렉토리를 그누보드5 루트에 복사
2./plugin/api_manager 디렉토리를 그누보드5 플러그인 디렉토리에 복사
3./extend/api_manager.extend.php 파일을 그누보드5 extend 디렉토리에 복사
4./adm/admin.menu950.php 파일을 그누보드5 관리자 디렉토리에 복사

API 엔드포인트

인증 API (/api/auth/)

액션 메서드 설명
login POST 로그인
logout GET 로그아웃
check GET 로그인 상태 확인
token POST 토큰 발급

회원 API (/api/member/)

액션 메서드 설명
info GET 회원 정보 조회
register POST 회원 가입
update POST 회원 정보 수정
leave POST 회원 탈퇴
check_id GET 아이디 중복 확인
check_email GET 이메일 중복 확인
check_nick GET 닉네임 중복 확인
find_id POST 아이디 찾기
find_pw POST 비밀번호 찾기

게시판 API (/api/board/)

액션 메서드 설명
list GET 게시판 목록
info GET 게시판 정보
categories GET 카테고리 목록
groups GET 그룹 목록

게시글 API (/api/write/)

액션 메서드 설명
list GET 게시글 목록
view GET 게시글 상세
create POST 게시글 작성
update POST 게시글 수정
delete POST 게시글 삭제
good POST 추천
nogood POST 비추천

댓글 API (/api/comment/)

액션 메서드 설명
list GET 댓글 목록
create POST 댓글 작성
update POST 댓글 수정
delete POST 댓글 삭제

포인트 API (/api/point/)

액션 메서드 설명
list GET 포인트 내역
sum GET 포인트 합계

쪽지 API (/api/memo/)

액션 메서드 설명
list GET 쪽지 목록
view GET 쪽지 상세
send POST 쪽지 발송
delete POST 쪽지 삭제
unread GET 안읽은 쪽지 수

스크랩 API (/api/scrap/)

액션 메서드 설명
list GET 스크랩 목록
add POST 스크랩 추가
delete POST 스크랩 삭제

검색 API (/api/search/)

액션 메서드 설명
board GET 게시판 검색
total GET 통합 검색

인기검색어 API (/api/popular/)

액션 메서드 설명
list GET 인기검색어 목록

투표 API (/api/poll/)

액션 메서드 설명
list GET 투표 목록
view GET 투표 상세
vote POST 투표하기
result GET 투표 결과

Q&A API (/api/qa/)

액션 메서드 설명
list GET Q&A 목록
view GET Q&A 상세
create POST Q&A 작성
update POST Q&A 수정
delete POST Q&A 삭제
config GET Q&A 설정

컨텐츠 API (/api/content/)

액션 메서드 설명
list GET 컨텐츠 목록
view GET 컨텐츠 상세

FAQ API (/api/faq/)

액션 메서드 설명
categories GET FAQ 카테고리 목록
list GET FAQ 목록
view GET FAQ 상세

메뉴 API (/api/menu/)

액션 메서드 설명
list GET 메뉴 목록

방문자 API (/api/visit/)

액션 메서드 설명
today GET 오늘 방문자 수
stats GET 방문자 통계

설정 API (/api/config/)

액션 메서드 설명
basic GET 기본 설정
api GET API 설정

파일 API (/api/file/)

액션 메서드 설명
list GET 파일 목록
upload POST 파일 업로드
download GET 파일 다운로드
delete POST 파일 삭제

최신글 API (/api/latest/)

액션 메서드 설명
list GET 최신글 목록

새글 API (/api/new/)

액션 메서드 설명
list GET 새글 목록
delete POST 새글 삭제

응답 형식

JSON 응답 (기본)


JSON
{ "success": true, "message": "성공", "data": { ... }, "pagination": { "current_page": 1, "total_pages": 10, "total_count": 100, "per_page": 10 } }

HTML 응답


format=html 파라미터를 추가하면 HTMX에서 바로 사용할 수 있는 HTML을 반환합니다.
Plain Text
GET /api/latest/?action=list&bo_table=free&format=html

HTMX 활용 예시

최신글 위젯


HTML
<div hx-get="/api/latest/?action=list&bo_table=free&rows=5&format=html" hx-trigger="load"> 로딩 중... </div>

게시글 목록


HTML
<div id="board-list" hx-get="/api/write/?action=list&bo_table=free&format=html" hx-trigger="load"> </div> <!-- 페이지네이션 --> <button hx-get="/api/write/?action=list&bo_table=free&page=2&format=html" hx-target="#board-list"> 다음 페이지 </button>

로그인 폼


HTML
<form hx-post="/api/auth/?action=login&format=html" hx-target="#login-result"> <input type="text" name="mb_id" placeholder="아이디"> <input type="password" name="mb_password" placeholder="비밀번호"> <button type="submit">로그인</button> </form> <div id="login-result"></div>

관리자 기능


관리자 페이지에서 API를 관리할 수 있습니다:
•API 설정: API 활성화, 로그, 요청 제한, CORS, 인증 설정
•API 목록: 각 API 엔드포인트 활성화/비활성화
•API 로그: API 호출 로그 조회
•API 키 관리: API 키 발급 및 관리
•API 테스트: API 요청 테스트
•API 문서: API 문서 조회
추천
0

댓글 전체

전체 679
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT