[ad_1]
SQLビューから以下のデータを取得しています。
+-------+-------+------------+------------+---------+-----------+----------------+ | ID | Name | Desc | Relation | ChildId | ChildName | ChildDesc | +-------+-------+------------+------------+---------+-----------+----------------+ | 10111 | Motor | Main Motor | Accessory | 30123 | Bolt | Hexagonal Bolt | | 10111 | Motor | Main Motor | Accessory | 30124 | Nut | 25mm Dia | | 10111 | Motor | Main Motor | Spare | 30125 | screw | Type A | | 10111 | Motor | Main Motor | Spare | 30126 | Shaft | 10m long | | 10112 | Engine| 800cc | Spare | 30127 | Oil | Standard oil | +-------+-------+------------+------------+---------+-----------+----------------+
ユーザーが http://localhost:8080/items?id=10111 にアクセスしたときに、以下の応答を提供する必要があります。
{ "Id": "10111", "Name": "Motor", "Desc": "Main Motor", "Accessory": [ { "Id": "30123", "Name": "Bolt", "Desc": "Hexagonal Bolt" }, { "Id": "30124", "Name": "Nut", "Desc": "25mm Dia" }, ], "Spare": [ { "Id": "30125", "Name": "screw", "Desc": "Type A" }, { "Id": "30126", "Name": "Shaft", "Desc": "10m long" }, ] }<pre>
同様に、ユーザーが http://localhost:8080/items?id=10112 にアクセスしたとき
{ "Id": "10112", "Name": "Engine", "Desc": "800cc", "Accessory": [], "Spare": [ { "Id": "30127", "Name": "Oil", "Desc": "Standard oil" } ] }
リクエストごとに 1 つの ID しかありません。 これを達成するのを手伝ってください。
私が試したこと:
私は以下を試しました
リポジトリ:
@Repository public interface MyDataRepo extends JpaRepository<Items, String> { @Query(value="select ID,Name,Desc,Relation,ChildId,ChildName,ChildDesc from myview WHERE ID=?1",nativeQuery=true) List<Data> findAllCategory(String id); public static interface Data { String getid(); String getname(); String getdesc(); String getrelation(); String getchildid(); String getchildname(); String getchilddesc(); } }
サービス:
public List<Data> getMyData(String id) { return repo.findAllCategory(id); }
コントローラー:
@GetMapping("/items") public ResponseEntity<List<Data>> retrieveData(@RequestParam("id") String id) { List<Data> stud = service.getMyData(id); return ResponseEntity.ok().body(stud); }
現在の出力:
[{ "Id": "10111", "Name": "Motor", "Desc": "Main Motor", "Relation":"Accessory", "ChildId":"30123", "ChildName":"Bolt", "ChildDesc":"Hexagonal Bolt" }, { "Id": "10111", "Name": "Motor", "Desc": "Main Motor", "Relation":"Accessory", "ChildId":"30124", "ChildName":"Nut", "ChildDesc":"25mm Dia" }, { "Id": "10111", "Name": "Motor", "Desc": "Main Motor", "Relation":"Spare", "ChildId":"30125", "ChildName":"screw", "ChildDesc":"10m long " }, { "Id": "10111", "Name": "Motor", "Desc": "Main Motor", "Relation":"Spare", "ChildId":"30126", "ChildName":"Shaft", "ChildDesc":"Pasted Seal" }]
解決策 1
私はそれをグーグルで検索しましたが、これが返された最初の結果でした:
ネストされた JSON 出力を PATH モードでフォーマットする – SQL Server | Microsoft Docs[^]
私の検索結果はここにあります:
解決策 2
この問題を解決できましたか? はいの場合、親切に方法を教えてください。
[ad_2]
コメント