java - 带有 Mongo db rest Api 的 Spring Boot
问题描述
我使用 spring boot 初始化程序创建了一个 crud 应用程序。
依赖项:
- 龙目岛
- 春季网络
- 春天的蒙哥
这个应用程序从我在 atlas 上设置的数据库/集群调用。但我希望它调用正确的集合,只需在邮递员中进行简单的 get all api 调用
但我收到服务器 500 错误
服务 Java 文件:
package com.fullstack.app.Service;
import com.fullstack.app.exception.EntityNotFoundException;
import com.fullstack.app.Model.*;
import com.fullstack.app.Model.Request.WCCreationRequest;
import com.fullstack.app.Repository.StatusData_WCRepo;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor
public class StatusDataService {
private static StatusData_WCRepo wcRepository;
public StatusData createData (WCCreationRequest request) {
StatusData statusData = new StatusData();
BeanUtils.copyProperties(request, statusData);
return wcRepository.save(statusData);
}
public static List<StatusData> getAllData() {
return wcRepository.findAll();
}
}
要求:
package com.fullstack.app.Model;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
@Document(collection = "StatusData_WC")
public class StatusData {
@Id
private String ID_Number;
private String Surname;
private String Full_Names;
private String Address;
private String VR;
private Integer Ward;
private Integer VD_Number;
}
控制器:
package com.fullstack.app.Controller;
import com.fullstack.app.Model.StatusData;
import com.fullstack.app.Model.Request.WCCreationRequest;
import com.fullstack.app.Service.StatusDataService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import lombok.RequiredArgsConstructor;
@RestController
@RequestMapping(value = "/api/statusData")
@RequiredArgsConstructor
public class StatusDataController {
private final StatusDataService sdService;
@GetMapping("/statusdata")
public ResponseEntity getAllData(@RequestParam(required = false) String id) {
if (id == null) {
return ResponseEntity.ok(StatusDataService.getAllData());
}
return ResponseEntity.ok(StatusDataService.getAllData());
}
}
应用属性:
spring.data.mongodb.uri=mongodb+srv://*****:******@cluster0.wlmmf.mongodb.net/myFirstDatabase?retryWrites=true&w=majority
解决方案
推荐阅读
- javascript - 如何解码发布到 php 的 jQuery json 数据
- node.js - 猫鼬找到嵌套对象
- android - 如何使用 Material 和 AndroidX 组件将折叠工具栏与 TabLayout 结合使用?
- html - 并排对齐两个 HTML 对象
- javascript - 在整个代码中的特定元素之后按类查找下一个元素(jQuery)
- empirical-lang - 试图在 OSX 上构建,但出现“没有规则来制作目标 antlr4_static”错误
- python - 用于捕获部分字符串的正则表达式
- webpack - Windows 上的 sw-precache-webpack-plugin - 无法解析窗口
- c# - 使用 Unity JsonUtility 反序列化 JSON 数组无法获取序列化值
- amazon-web-services - Best Way to manage AWS Access key ? So that when an employee leave the company . The employ should not be able to access the AWS account