问题:我试图将阵列POST到控制器,但似乎什么都没发生,日志或终端上没有信息
我有一个JSON数组,如下
[
{
"artifact_id": 10,
"session_id":45,
"user_id": "user99"
}
]
我正试图将其与CRUD repo中的.saveAll()一起使用,但似乎什么都没发生——它似乎甚至没有打印我的System.out.print("test");消息我的@Entity类如下
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "ESearch_results", schema = "public")
public class ESearchResponse {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "primary_key", nullable = false)
int primary_key;
@Column(name = "artifact_id")
int artifact_id;
@Column(name = "session_id")
int session_id;
@Column(name = "user_id")
String user_id;
}
我的控制器如下
@RestController
public class EsearchTestController {
@Autowired
private EsearchResponseService EsearchResponseService;
@CrossOrigin
@PostMapping("/justATest")
public String testController(@RequestBody List<ESearchResponse> ESearchResponseTypo){
String result = "this test passed";
// System.out.print("u001B[35m"+EsearchResponseService.saveESearchResult(ESearchResponseTypo));
System.out.print("u001B[35m"+ESearchResponseTypo.size());
EsearchResponseService.saveESearchResult(ESearchResponseTypo);
return result;
}
}
我已经尝试了很多方法,我相信我在这里的根本问题是在请求体中传递JSON数组的方式。
尝试将@RequestMapping("/some_path")
添加到控制器中。
我曾经遇到过同样的问题,在我的案例中缺少@RequestMapping
注释。
注意properties
文件中的端口设置:
server.port=8000