首页 > 解决方案 > 带有 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

标签: javaspringmongodbspring-boot

解决方案


推荐阅读