質問編集履歴
2
ソースの例がない為
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,7 +47,7 @@
|
|
47
47
|
{
|
48
48
|
public static function sample(Abc $abc, $request)
|
49
49
|
{
|
50
|
-
//
|
50
|
+
//IDをキーに管理テーブルからレコード取得
|
51
51
|
$def = $abc->findByIdXXXX($request->input('xxxx_id'));
|
52
52
|
|
53
53
|
//例外キャッチされたか判定
|
1
ソースの例がない為
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,4 +6,67 @@
|
|
6
6
|
|
7
7
|
サービスクラスのJsonレスポンスをAPI呼び出し元に返却可能でしょうか。
|
8
8
|
|
9
|
-
以上、宜しくお願い致します。
|
9
|
+
以上、宜しくお願い致します。
|
10
|
+
|
11
|
+
ソースがないとわからないとのことなのでサンプルです。
|
12
|
+
|
13
|
+
|
14
|
+
ルーティング
|
15
|
+
```ここに言語を入力
|
16
|
+
Route::post('/service', 'AbcController@select');
|
17
|
+
```
|
18
|
+
コントローラー
|
19
|
+
```ここに言語を入力
|
20
|
+
class AbcController extends Controller
|
21
|
+
{
|
22
|
+
|
23
|
+
protected Abc $Abc ;
|
24
|
+
|
25
|
+
public function __construct(Abc $abc)
|
26
|
+
{
|
27
|
+
$this->Abc = $Abc ;
|
28
|
+
}
|
29
|
+
|
30
|
+
public function select(Request $request)
|
31
|
+
{
|
32
|
+
|
33
|
+
$json = Service::sample($this->Abc, $request);
|
34
|
+
|
35
|
+
return response()->json(json , 500, [], JSON_UNESCAPED_UNICODE);
|
36
|
+
|
37
|
+
|
38
|
+
}
|
39
|
+
|
40
|
+
}
|
41
|
+
```
|
42
|
+
|
43
|
+
サービスクラス
|
44
|
+
```ここに言語を入力
|
45
|
+
|
46
|
+
class Service
|
47
|
+
{
|
48
|
+
public static function sample(Abc $abc, $request)
|
49
|
+
{
|
50
|
+
//ユーザーIDをキーにユーザー管理テーブルからレコード取得
|
51
|
+
$def = $abc->findByIdXXXX($request->input('xxxx_id'));
|
52
|
+
|
53
|
+
//例外キャッチされたか判定
|
54
|
+
//コレクションならfalse、stringならtrue
|
55
|
+
if(is_string($def) === false)
|
56
|
+
{
|
57
|
+
|
58
|
+
return $def;
|
59
|
+
|
60
|
+
}
|
61
|
+
Log::critical('', ['request' => $request], ['message' => $def]);
|
62
|
+
|
63
|
+
//エラー
|
64
|
+
//ここからAPI呼び出し元にJsonレスポンス返却したい
|
65
|
+
//通常リターンならばコントローラーに返るから
|
66
|
+
return response()->json(null, 500, [], JSON_UNESCAPED_UNICODE);
|
67
|
+
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
|
72
|
+
```
|