Skip to content

Commit d9e58fa

Browse files
author
qiang.sun
committed
文章详情数据获取 API
1 parent 73296cb commit d9e58fa

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

app/Http/Controllers/API/PostController.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
namespace App\Http\Controllers\API;
44

5+
use App\Http\Resources\PostResource;
56
use App\Models\Post;
67
use Illuminate\Http\Request;
78
use App\Http\Controllers\Controller;
@@ -28,4 +29,10 @@ public function index(Request $request)
2829
];
2930
return response()->json($data);
3031
}
32+
33+
public function detail($id)
34+
{
35+
$post = Post::findOrFail($id);
36+
return new PostResource($post);
37+
}
3138
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?php
2+
3+
namespace App\Http\Resources;
4+
5+
use Illuminate\Http\Resources\Json\JsonResource;
6+
7+
class PostResource extends JsonResource
8+
{
9+
/**
10+
* Transform the resource into an array.
11+
*
12+
* @param \Illuminate\Http\Request $request
13+
* @return array
14+
*/
15+
public function toArray($request)
16+
{
17+
return [
18+
'id' => $this->id,
19+
'title' => $this->title,
20+
'image' => url(config('blog.uploads.webpath') . '/' . $this->page_image),
21+
'content' => $this->content_html,
22+
'author' => '学院君',
23+
'posted_at' => $this->publish_date,
24+
'views' => mt_rand(1, 100000),
25+
'votes' => mt_rand(1, 1000)
26+
];
27+
}
28+
}

routes/api.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
|
1414
*/
1515
Route::middleware('throttle:60,1')->prefix('v1')->group(function() {
16+
// 文章首页
1617
Route::get('/articles', 'API\PostController@index');
18+
// 文章详情页
19+
Route::get('/article/{id}', 'API\PostController@detail')->where(['id' => '[1-9]{1}[0-9]*']);
1720
});
1821

1922
Route::middleware('auth:api')->get('/user', function (Request $request) {

0 commit comments

Comments
 (0)