質問するログイン新規登録

質問編集履歴

2

ソースの例がない為

2020/02/20 09:50

投稿

larachan
larachan

スコア28

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
- //ユーザーIDをキーにユーザー管理テーブルからレコード取得
50
+ //IDをキーに管理テーブルからレコード取得
51
51
  $def = $abc->findByIdXXXX($request->input('xxxx_id'));
52
52
 
53
53
  //例外キャッチされたか判定

1

ソースの例がない為

2020/02/20 09:50

投稿

larachan
larachan

スコア28

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
+ ```