Skip to content

Commit 86f7ecf

Browse files
committed
using resource routes on the categories controller
1 parent ba61b09 commit 86f7ecf

File tree

4 files changed

+79
-38
lines changed

4 files changed

+79
-38
lines changed

webservice/app/Http/Controllers/CategoriesController.php

Lines changed: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,17 @@
22

33
namespace App\Http\Controllers;
44

5-
use Illuminate\Http\Request;
65
use App\Category;
76
use App\Http\Requests\CategoryRequest;
87

98
class CategoriesController extends Controller
109
{
11-
public function all(Request $request)
10+
/**
11+
* Display a listing of the resource.
12+
*
13+
* @return \Illuminate\Http\Response
14+
*/
15+
public function index()
1216
{
1317
try {
1418
$pager = Category::paginate(10);
@@ -21,44 +25,63 @@ public function all(Request $request)
2125
}
2226
}
2327

24-
public function get($id)
28+
/**
29+
* Store a newly created resource in storage.
30+
*
31+
* @param \Illuminate\Http\Request $request
32+
* @return \Illuminate\Http\Response
33+
*/
34+
public function store(CategoryRequest $request)
2535
{
2636
try {
27-
$category = Category::find($id);
28-
29-
if (! $category) {
30-
return response()->json([
31-
'messages' => ['Category not found'],
32-
], 404);
33-
}
37+
Category::create($request->only('name'));
3438

3539
return response()->json([
3640
'result' => 'success',
37-
'category' => $category,
3841
], 200);
39-
} catch (\Exception $e) {
42+
} catch(\Exception $e) {
4043
return response()->json([
41-
'messages' => ['Failed to fetch category'],
44+
'messages' => ['Failed to create category'],
4245
], 500);
4346
}
4447
}
4548

46-
public function create(CategoryRequest $request)
49+
/**
50+
* Display the specified resource.
51+
*
52+
* @param int $id
53+
* @return \Illuminate\Http\Response
54+
*/
55+
public function show($id)
4756
{
4857
try {
49-
Category::create($request->only('name'));
58+
$category = Category::find($id);
59+
60+
if (! $category) {
61+
return response()->json([
62+
'messages' => ['Category not found'],
63+
], 404);
64+
}
5065

5166
return response()->json([
5267
'result' => 'success',
68+
'category' => $category,
5369
], 200);
54-
} catch(\Exception $e) {
70+
} catch (\Exception $e) {
5571
return response()->json([
56-
'messages' => ['Failed to create category'],
72+
'messages' => ['Failed to fetch category'],
5773
], 500);
5874
}
5975
}
6076

61-
public function update($id, CategoryRequest $request)
77+
/**
78+
* Update the specified resource in storage.
79+
*
80+
* @param \Illuminate\Http\Request $request
81+
* @param int $id
82+
* @return \Illuminate\Http\Response
83+
*/
84+
public function update(CategoryRequest $request, $id)
6285
{
6386
try {
6487
$category = Category::find($id);
@@ -82,7 +105,13 @@ public function update($id, CategoryRequest $request)
82105
}
83106
}
84107

85-
public function remove($id)
108+
/**
109+
* Remove the specified resource from storage.
110+
*
111+
* @param int $id
112+
* @return \Illuminate\Http\Response
113+
*/
114+
public function destroy($id)
86115
{
87116
try {
88117
$category = Category::find($id);

webservice/composer.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

webservice/routes/api.php

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
11
<?php
22

3-
use Illuminate\Http\Request;
3+
Route::group([
4+
'middleware' => ['cors', 'api'],
5+
], function () {
6+
Route::post('/login', 'LoginController@login');
47

5-
Route::group(['middleware' => ['cors', 'api']], function () {
6-
Route::post('login', ['uses' => 'LoginController@login']);
7-
Route::group(['middleware' => 'jwt.auth'], function () {
8-
Route::group(['prefix' => 'categories'], function () {
9-
Route::get('', ['uses' => 'CategoriesController@all']);
10-
Route::get('{id}/get', ['uses' => 'CategoriesController@get']);
11-
Route::post('create', ['uses' => 'CategoriesController@create']);
12-
Route::put('{id}/update', ['uses' => 'CategoriesController@update']);
13-
Route::delete('{id}/remove', ['uses' => 'CategoriesController@remove']);
14-
});
8+
Route::group([
9+
'middleware' => 'jwt.auth',
10+
], function () {
11+
Route::resource('/categories', 'CategoriesController', [
12+
'except' => ['create', 'edit'],
13+
]);
1514
});
1615
});
1716

17+
// Route::group(['middleware' => ['cors', 'api']], function () {
18+
// Route::post('login', ['uses' => 'LoginController@login']);
19+
// Route::group(['middleware' => 'jwt.auth'], function () {
20+
// Route::group(['prefix' => 'categories'], function () {
21+
// Route::get('', ['uses' => 'CategoriesController@all']);
22+
// Route::get('{id}/get', ['uses' => 'CategoriesController@get']);
23+
// Route::post('create', ['uses' => 'CategoriesController@create']);
24+
// Route::put('{id}/update', ['uses' => 'CategoriesController@update']);
25+
// Route::delete('{id}/remove', ['uses' => 'CategoriesController@remove']);
26+
// });
27+
// });
28+
// });
29+

webservice/tests/Controllers/CategoriesControllerTest.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function can_delete_category()
1616
{
1717
$this->create(Category::class);
1818

19-
$this->json('DELETE', '/api/categories/1/remove');
19+
$this->json('DELETE', '/api/categories/1');
2020

2121
$this->assertResponseOk();
2222
$this->dontSeeInDatabase('categories', ['id' => 1]);
@@ -29,7 +29,7 @@ public function can_update_category()
2929
{
3030
$this->create(Category::class);
3131

32-
$this->json('PUT', '/api/categories/1/update', [
32+
$this->json('PUT', '/api/categories/1', [
3333
'name' => 'Dummy',
3434
]);
3535

@@ -64,9 +64,9 @@ public function get_not_found_if_category_dont_exist($method, $url)
6464
public function urlProvider()
6565
{
6666
return [
67-
['GET', '/api/categories/1/get'],
68-
['PUT', '/api/categories/1/update'],
69-
['DELETE', '/api/categories/1/remove'],
67+
['GET', '/api/categories/1'],
68+
['PUT', '/api/categories/1'],
69+
['DELETE', '/api/categories/1'],
7070
];
7171
}
7272

@@ -79,7 +79,7 @@ public function can_get_category()
7979
'name' => 'Dummy',
8080
]);
8181

82-
$this->json('GET', '/api/categories/1/get');
82+
$this->json('GET', '/api/categories/1');
8383

8484
$this->assertResponseOk();
8585

@@ -99,7 +99,7 @@ public function can_get_category()
9999
*/
100100
public function can_create_category()
101101
{
102-
$this->json('POST', '/api/categories/create', [
102+
$this->json('POST', '/api/categories', [
103103
'name' => 'Dummy name',
104104
]);
105105

0 commit comments

Comments
 (0)