繁体   English   中英

json 对象返回 null spring boot

[英]json object returns null spring boot

І 正在做一个带有spring boot的rest api应用程序我在数据库中有2个表,第一个称为TblEmployees,第二个称为TblDepartments,从这两个表中我创建了一个Employees_DTO类,它应该以Json格式返回数据。 从 TblEmployees 表返回数据,从 TblDepartments 表返回 null。 dbID 是 forenkey 我按照我的想法做了但对我来说它不起作用

这是我的代码

    public class TblDepartments {
private Integer dbID;
private String dep_name;

public class TblEmployees {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int emp_id;
private String empName;
private Boolean empActive;
private Integer dbID;

public class Employees_DTO {
private int emp_id;
private String empName;
private Boolean empActive;
private String dep_name;
   }

package com.example.test_task.exceptions;

import com.example.test_task.*;
import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.modelmapper.spi.MatchingStrategy;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service;

import java.util.List;
 import java.util.stream.Collectors;

 @Service
public class EmployessServise {
@Autowired
private EmplployeesRepository repo;

@Autowired
private ModelMapper modelMapper;

public EmployessServise() {
}

public List<Employees_DTO> getAll_Emp(){
    return repo.findAll()
            .stream()
            .map(this::convertEntityToDto)
            .collect(Collectors.toList());
}

private Employees_DTO convertEntityToDto(TblEmployees tblEmployees){
    modelMapper.getConfiguration()
            .setMatchingStrategy(MatchingStrategies.LOOSE);
    Employees_DTO employees_dto=new Employees_DTO();
    employees_dto=modelMapper.map(tblEmployees,Employees_DTO.class);
    return employees_dto;
}

private TblEmployees convertEntityToDto(Employees_DTO employees_dto){
    modelMapper.getConfiguration()
            .setMatchingStrategy(MatchingStrategies.LOOSE);
    TblEmployees tblEmployees=new TblEmployees();
    tblEmployees=modelMapper.map(employees_dto,TblEmployees.class);
    return tblEmployees;
}
  }

@ManyToOne可用:

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity
public class TblEmployees {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int emp_id;
    private String empName;
    private Boolean empActive;
    @ManyToOne
    @JoinColumn(name = "dbid")
    private TblDepartments department;

    // Getters and Setters

}

完整的示例代码

列表<object> null 在 Spring 启动 Z594C103F2C6E04C3D8AB059F031E0C1 中反序列化 json 时<div id="text_translate"><p>我在 Spring 引导应用程序中遇到了 controller 问题。 当我在 controller(URI/调用)上进行调用时,object 列表始终是 null。</p><pre> { "code": "TEST", "name": "TEST NAME", "groupe": "A1", "list": [ {"type":"web", "link":"https://google.com/"}, {"type":"web", "link":"https://google2.com/"} ] }</pre><pre class="lang-java prettyprint-override"> @PostMapping(value="/call") public ResponseEntity&lt;Void&gt; ajouterEnvironnement(@RequestBody First first) { first.getCode() // value: "TEST" first.getList() // value: null }</pre><pre class="lang-java prettyprint-override"> public class First { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String code; private String name; private String groupe; @OneToMany(mappedBy = "first", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private List&lt;Second&gt; list; }</pre><pre class="lang-java prettyprint-override"> public class Second { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String type; private String link; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "first_id", nullable = false) private First first; }</pre></div></object>

[英]List<object> null when deserializing json in Spring Boot controller

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从 API 回答的 JSON 内容返回 null(使用 Spring 引导) 发布 API 使用 Spring 引导返回嵌套 Z466DEEC76ECDF5FCA6D38571F6324D5Z4 的 null 值 1.5.9上的spring boot文件上传总是返回空文件 model 映射器模拟在 Z2A2D595E6ED9A0B24F027F2B63B134D 引导单元中返回 null object Spring Boot关系返回null RestTemplate Spring Boot返回null 列表<object> null 在 Spring 启动 Z594C103F2C6E04C3D8AB059F031E0C1 中反序列化 json 时<div id="text_translate"><p>我在 Spring 引导应用程序中遇到了 controller 问题。 当我在 controller(URI/调用)上进行调用时,object 列表始终是 null。</p><pre> { "code": "TEST", "name": "TEST NAME", "groupe": "A1", "list": [ {"type":"web", "link":"https://google.com/"}, {"type":"web", "link":"https://google2.com/"} ] }</pre><pre class="lang-java prettyprint-override"> @PostMapping(value="/call") public ResponseEntity&lt;Void&gt; ajouterEnvironnement(@RequestBody First first) { first.getCode() // value: "TEST" first.getList() // value: null }</pre><pre class="lang-java prettyprint-override"> public class First { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String code; private String name; private String groupe; @OneToMany(mappedBy = "first", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private List&lt;Second&gt; list; }</pre><pre class="lang-java prettyprint-override"> public class Second { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String type; private String link; @ManyToOne(fetch = FetchType.EAGER) @JoinColumn(name = "first_id", nullable = false) private First first; }</pre></div></object> JSON对象返回Null Spring 引导:@Value 始终返回 null Spring Boot @Autowired Jpa存储库返回Null
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM