Post List
This page describes the request data identifiers and response structure required to build a post list page.
Data Identifier
{
"dataID": "GET_POST_LIST",
"page": 1,
"page_link_url": "/post/list",
"page_link_hash": "HASH",
"board_seq": 200,
"list_per_page": 20,
"block_per_page": 5,
"search_type": "default",
"search_keyword": "keyword",
"order": "create_date",
"sort": "desc"
}| Key | Description |
|---|---|
| dataID | Unique data identifier |
| page | Page number |
| page_link_url | Page navigation link URL |
| page_link_hash | Page navigation link hash (required when navigating to a hash link within a hash page) |
| board_seq | Board sequence |
| list_per_page | Number of items displayed per page |
| block_per_page | Number of page links shown in the paging block on a page |
| search_type | Search filter type (default: author/title/body, distance: distance in meters) |
| search_keyword | Search keyword |
| order | Sort criterion (create_date: creation date, distance: distance) |
| sort | Sort order (asc: descending, desc: ascending) |
HTML
<div id="post_list">
<div v-for="post in output.post_list">
<div>
<small>{{post.reg_name}}</small>
<small> / </small>
<small>{{post.create_date}}</small>
</div>
<h3>{{post.subject}}</h3>
<p>
{{post.content}}
</p>
</div>
</div>- div
<div id="post_list"></div>The area where the post list is displayed.
- div
<div v-for="post in output.post_list"></div>Loop for displaying posts
Response Result
{
"post_list": [
{
"post_key": "E477FEEB837326JEUDYFC505D20C022",
"parent_post_key": "E477FEEB837326JEUDYFC505D20C022",
"board_key": "E477FEEBEE4D444D208AFC505D20C022",
"board_seq": "301",
"board_name": "Community",
"subject": "post subject",
"depth": 2,
"member_key": "E477FEEBEE4DB8BD208AFC505D20C022",
"member_seq": "3",
"nickname": "John",
"avatar_url": "/_images/face_icons_circle/face_icons-circle-01.svg",
"email": "poster@email.com",
"cell_phone": "01000001111",
"reg_name": "John",
"status": "published",
"notice_flg": "N",
"comment_flg": "Y",
"create_date": "2025-05-20 02:53:34",
"create_date_type_mdhi": "05-20 02:53",
"modify_date": "2025-05-30 02:53:34",
"read_count": 500,
"read_per_day_rate": "7.40",
"like_cnt": "3",
"child_post_count": "0",
"content": "<p>This is the post content.</p>",
"content_without_html": "This is the post content.",
"content_summary": "This is the post content.",
"files": "/post/2025/05/sample.jpg",
"files_url": "https://api.hdevplus.com/_upload/post/2025/05/sample.jpg",
"tags": [
{"post_seq": "12", "tag": "#notice"}
],
"comment_list": [
{"comment_key": "A1B2C3D4E5F6837326JEUDYFC505D20C", "comment": "Comment content", "name": "Jane", "create_date": "2025-05-21 10:00:00"}
],
"comment_cnt": "1"
}
],
"pagination": {
"page": 1,
"total_result_num": 42,
"total_page_num": 5,
"reault_per_page": 10,
"block_num": 5,
"prev_page": 1,
"next_page": 2,
"prev_page_link": "/community?page=1",
"next_page_link": "/community?page=2",
"paging": {
"first": {"number": 1, "link": "/community?page=1"},
"end": {"number": 5, "link": "/community?page=5"},
"prev": {"number": 1, "link": "/community?page=1"},
"next": {"number": 5, "link": "/community?page=5"},
"page": [
{"number": 1, "link": "/community?page=1"},
{"number": 2, "link": "/community?page=2"}
]
}
},
"search_keyword": "",
"total_post_count": 42,
"board_list": [
{"seq": "301", "board_name": "Community"}
],
"board": {"seq": ["301"]},
"member_like": []
}
| Key | Description |
|---|---|
| post_list | Array of posts |
| post_list[n].post_key | Unique post key |
| post_list[n].parent_post_key | Parent (original) post key - equals its own key when not a reply |
| post_list[n].board_key | Unique board key |
| post_list[n].board_seq | Board sequence |
| post_list[n].board_name | Board name |
| post_list[n].subject | Post title |
| post_list[n].depth | Post indentation level |
| post_list[n].member_key | Author member key (only if the author is a member) |
| post_list[n].member_seq | Author member sequence |
| post_list[n].nickname | Author nickname |
| post_list[n].avatar_url | Author avatar image URL |
| post_list[n].email | Author email |
| post_list[n].cell_phone | Author mobile phone number |
| post_list[n].reg_name | Author name |
| post_list[n].status | Post status (published) |
| post_list[n].notice_flg | Notice flag (Y/N) |
| post_list[n].comment_flg | Whether comments are allowed (Y/N) |
| post_list[n].create_date | Creation date |
| post_list[n].create_date_type_mdhi | Created date formatted as MM-DD HH:mm |
| post_list[n].modify_date | Modification date |
| post_list[n].read_count | Post view count |
| post_list[n].read_per_day_rate | Daily view rate - read count divided by days since posting |
| post_list[n].like_cnt | Like count |
| post_list[n].child_post_count | Number of replies (child posts) |
| post_list[n].content | Post body (HTML) |
| post_list[n].content_without_html | Body with HTML tags stripped (only a tags kept) |
| post_list[n].content_summary | Body summary truncated to 255 characters after stripping tags |
| post_list[n].files | Attached file paths (comma-separated string, null when none) |
| post_list[n].files_url | Accessible URLs of attached files (comma-separated string) |
| post_list[n].tags | Post tag array - each element has post_seq and tag fields |
| post_list[n].comment_list | Comment list per post (up to 5) - same fields as the comment list response |
| post_list[n].comment_cnt | Total comment count of the post |
| pagination | Pagination info - page, total_result_num, total_page_num, prev/next links and paging (first/end/prev/next/per-page links) |
| search_keyword | Search keyword used in the request |
| total_post_count | Total post count of the board |
| board_list | Board list |
| board | Requested board sequence info |
| member_like | Posts liked by the signed-in member when requested with get_post_like_flg=Y |
<div id="post_list" data-load-type="vue-pagination" class="row">
<div class="col-12 my-3" vv-for="post in output.post_list">
<div class="card h-100">
<img />
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<small>{{post.reg_name}}</small><small>{{post.create_date}}</small>
</div>
<hr/>
<h5 class="card-title">{{ post.subject }}</h5>
<p class="card-text">
{{ post.content }}
</p>
</div>
</div>
</div>
</div><div id="post_list" data-load-type="page-link" class="row">
<?php foreach($output['post_list'] as $intKey=>$arrPost){ ?>
<div class="col-12 my-3">
<div class="card h-100">
<img src="<?=$arrPost['files'];?>"/>
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<small><?=$arrPost['reg_name'];?></small><small><?=$arrPost['create_date'];?></small>
</div>
<hr/>
<h5 class="card-title"><?=$arrPost['subject'];?></h5>
<p class="card-text">
<?=$arrPost['content'];?>
</p>
</div>
</div>
</div>
<? } ?>
</div>Related Links
User Discussions
ADD- There are no posts yet.