SAB:
私は、データベースから複数のレコードを取得し、春・ブートAPIを介してこれらの値を返すようにしたい、私は一つの値を得ることができますが、複数のデータベースから返されたときにのみ、最後のレコードは、APIで返されているのです
私は、このモデルが定義されています
@Data
public class TestModel {
/** Field rank. (value is "rank") */
private String rank;
/** Field category. (value is "category") */
private String category;
/** Field content. (value is "content") */
private String content;
private String date;
}
そして、私のコントローラ内で私はこのようなリポジトリを移入します:
private static void populateTestDetails(List<TestModel> testModels, List<Test> test) {
TestModel testModel = new testModel();
for (int i = 0; i < wellness.size(); i++) {
if (test.get(i) != null) {
Test testValue = test.get(i);
testModel.setRank(testValue.getRank());
testModel.setCategory(testValue.getCategory());
testModel.setContent(testValue.getContent());
testModel.setDate(testValue.getDate());
} else {
testModel.setRank("0");
testModel.setCategory("null");
testModel.setContent("0");
testModel.setDate("null");
}
}
testModels.add(testModel);
}
私は、配列に結果を追加する方法を、私の呼び出しはループのために自分自身を上書きしていると思うだろうか?その結果は次のようになりますか?
[{"rank":"1","category":"test","content":"2","date":"16/01/2020"},
{"rank":"2","category":"another test","content":"3","date":"16/01/2020"}]
私は謝罪ので、私の基本的な知識が不足していることを専門用語が間違っている可能性があり、JAVAに非常に新しいです
サイモン・マルティネリ:
あなたは非常に接近しています。あなたは(あなたが最初や最後でそれを追加した場合、それは問題ではない)ループの中でコレクションに追加forループともにTestModelオブジェクトを作成する必要があります
private static void populateTestDetails(List<TestModel> testModels, List<Test> test) {
for (int i = 0; i < wellness.size(); i++) {
TestModel testModel = new testModel();
testModels.add(testModel);
if (test.get(i) != null) {
Test testValue = test.get(i);
testModel.setRank(testValue.getRank());
testModel.setCategory(testValue.getCategory());
testModel.setContent(testValue.getContent());
testModel.setDate(testValue.getDate());
} else {
testModel.setRank("0");
testModel.setCategory("null");
testModel.setContent("0");
testModel.setDate("null");
}
}
}