그누보드 5 API 마무리 , 비회원 글쓰기 api 변경 등
지난 4일간 변경사항입니다.
이번주는 마무리입니다.
미니님a 님께서 알려주셔서 문제점과 버그를 많이 수정했습니다. 감사합니다.
https://github.com/gnuboard/gnuboard5/issues/347
1 . 비회원 글쓰기 API 변경
그누보드에 환경설정에 보시면
글쓰기/댓글쓰기에 글쓰기 시간 간격을 둘 수있습니다. config 테이블의 cf_delay_sec 컬럼입니다
api 에서는 세션을 쓰지 않고있어서
글쓰기/댓글쓰기에 한정하여 토큰 발행을 강제하고
서버에서 토큰을 저장하여 접근시간 기준으로 구분하게 바꿨습니다.
이 과정에서 비회원도 글쓰기 토큰이 필요해졌고 비회원 엑세스 토큰 발급 API 가 추가되었습니다.

비회원용 일회성 엑세스 토큰 API 입니다.
토큰을 저장하기 위한 테이블이 추가되었습니다.
g5_throttle 테이블입니다.
th_token_hash - varchar 80 기본키 sha256 으로 해시된 엑세스 토큰
th_scope - varchar 50 적용범위
th_created_at datetime 토큰 추가시각
th_last_access_at datetime 마지막 접근시각
th_scope 는 글쓰기와 댓글쓰기는 동작이 다르기때문에 분리하기위해 추가했습니다
WriteDelayMiddleware 미들웨어가 추가되었습니다.
board.php 게시판 라우터

$group->group('/writes', function (RouteCollectorProxy $group) {
$group->get('/guest-write-token', [BoardController::class, 'getGuestWriteToken']);
$group->get('', [BoardController::class, 'getWrites']);
$group->post('', [BoardController::class, 'createWrite']) // 게시글 추가
->add(new WriteDelayMiddleware('write')); // 라우터에 미들웨어 추가시 생성자에 적용범위를 지정합니다.
ThrottleService 클래스가 추가되었습니다.
토큰당 딜레이를 계산, 입출력하는 멤버함수가 모여있습니다.
쪽지 API 변경
쪽지 조회 API 가 기존에는 읽지 않은 쪽지만 표시했습니다.
읽은 쪽지도 모두표시하고 읽음표시여부인 me_is_read 항목이 추가되었습니다.
이미지 확장자 검사 함수 일원화
get_allow_image_ext
get_allow_video_ext 함수가 추가되었습니다.
기존에 하드코딩된 이미지 확장자검사를 관리자 환경설정에서 설정한 이미지 확장자들로 지정합니다.
성능 개선
- 게시판 목록 API 에서 캐시로직이 적용안되어 중복 쿼리 호출이 있었습니다.
이제 wr_id 가 같은 게시글의 첨부파일은 한번만 호출됩니다.
그 외 검색 api 오류, 게시글 임시저장 API, 게시글 목록 썸네일 출력 미표시, PHP doc 주석 등이 수정되었습니다.
작업내역
댓글 5개
그누보드 API 마무리인가요 ?
@swkim87 거의 마무리 되었지만 정식 버전에 포함하지는 않을 예정입니다
@리자 REST API 정식 버전 차용 계획은 없으신건가요?
고생이 많으십니다..
그누보드api 정식적용 계획이 있으신가요?
공지를 많이찾아봤는데 관련 내용이 없네요
정식 배포는 아니더라도 플러그인으로라도 되면 좋을 듯 싶은데...
게시판 목록
그누보드5 개발일지
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 1년 전 | 1726 | ||
| 26 | 1년 전 | 2933 | ||
| 25 |
|
1년 전 | 1968 | |
| 24 | 1년 전 | 1776 | ||
| 23 |
|
1년 전 | 1568 | |
| 22 | 1년 전 | 1626 | ||
| 21 | 1년 전 | 1926 | ||
| 20 |
|
1년 전 | 1610 | |
| 19 |
|
1년 전 | 1844 | |
| 18 | 1년 전 | 1537 | ||
| 17 |
|
1년 전 | 1486 | |
| 16 | 1년 전 | 1613 | ||
| 15 | 1년 전 | 924 | ||
| 14 | 1년 전 | 1028 | ||
| 13 | 1년 전 | 591 | ||
| 12 | 1년 전 | 421 | ||
| 11 | 1년 전 | 807 | ||
| 10 | 1년 전 | 535 | ||
| 9 |
|
1년 전 | 413 | |
| 8 | 1년 전 | 664 | ||
| 7 | 1년 전 | 743 | ||
| 6 |
|
1년 전 | 445 | |
| 5 | 1년 전 | 625 | ||
| 4 |
|
1년 전 | 445 | |
| 3 |
|
1년 전 | 520 | |
| 2 | 1년 전 | 1022 | ||
| 1 | 1년 전 | 1024 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기