将从spring boot检索到的数据转换为JSON,并在前端获取它

将从spring boot检索到的数据转换为JSON,并在前端获取它,json,spring-boot,spring-data-jpa,angular6,postgresql-9.4,Json,Spring Boot,Spring Data Jpa,Angular6,Postgresql 9.4,我想从postgresql中的skills实体中检索所有技能,并使用get方法将其发送到Angular前端。在HTTP请求中,我需要发送一个JSON对象。如何将检索到的值从postgresql转换为JSON对象 我已经使用SpringJPA连接了postgresql数据库。我也会在前端得到一个字符串值。但我想把它们作为JSON对象 这是我的控制器类 @RestController @CrossOrigin public class SkillsController { @Autowire

我想从postgresql中的skills实体中检索所有技能,并使用get方法将其发送到Angular前端。在HTTP请求中,我需要发送一个JSON对象。如何将检索到的值从postgresql转换为JSON对象

我已经使用SpringJPA连接了postgresql数据库。我也会在前端得到一个字符串值。但我想把它们作为JSON对象

这是我的控制器类

@RestController
@CrossOrigin
public class SkillsController {
    @Autowired
    SkillsRepository skillsRepository;



    @RequestMapping("/getSkills")
    @GetMapping("/getSkills")
    @CrossOrigin
    public String getSkills(){
        String result = "";

        for (Skills skill : skillsRepository.findAll()){
            result +=  skill.toString();
        }

        return result;
    }

这是我的角度前端ts文件

public getAllSkills() {
    const url = 'http://localhost:8080/getSkills';
    this.http.get(url, {responseType: 'text'}).subscribe(
      res => {
        alert(res);
      },
      err => {
        alert('Error in retrieving');
      }
    );
  }

我想将检索到的值转换为JSON对象,并在前端使用get方法捕获该对象,默认情况下Spring使用的是
Jackson
序列化/反序列化,并且返回类型为
JSON
。返回对象本身,而不是返回字符串返回类型,它将被转换为Json,而无需您的终端提供任何额外代码。控制器的外观通常如下所示

@RestController
@CrossOrigin
public class SkillsController {

    @Autowired
    SkillsRepository skillsRepository;

    @GetMapping("/getSkills")
    public List<Skill> getSkills() {
        return skillsRepository.findAll();
    }
}
@RestController
@交叉起源
公共级技能控制器{
@自动连线
技能还原技能还原;
@GetMapping(“/getSkills”)
公共列表getSkills(){
return skillsRepository.findAll();
}
}

Spring默认使用
Jackson
序列化/反序列化,并且返回类型为
Json
。返回对象本身,而不是返回字符串返回类型,它将被转换为Json,而无需您的终端提供任何额外代码。控制器的外观通常如下所示

@RestController
@CrossOrigin
public class SkillsController {

    @Autowired
    SkillsRepository skillsRepository;

    @GetMapping("/getSkills")
    public List<Skill> getSkills() {
        return skillsRepository.findAll();
    }
}
@RestController
@交叉起源
公共级技能控制器{
@自动连线
技能还原技能还原;
@GetMapping(“/getSkills”)
公共列表getSkills(){
return skillsRepository.findAll();
}
}

我将改写你的文章。所以答案非常简单,您只需从存储库返回列表,Spring就会将列表转换为适当的JSON对象或数组

@CrossOrigin
public class SkillsController {

 public SkillsRepository skillsRepository;

 public SkillsController(SkillsRepository _skillsRepository){
       skillsRepository = _skillsRepository;
  }

  @RequestMapping("/getSkills")
  @CrossOrigin
  public List<skillEntity> getSkills(){ 
     return (List<skillEntity>)skillsRepository.findAll();
  }

}
@CrossOrigin
公共级技能控制器{
公共技能储备技能储备;
公共技能控制员(技能储备){
skillsRepository=\u skillsRepository;
}
@请求映射(“/getSkills”)
@交叉起源
公共列表getSkills(){
return(List)skillsRepository.findAll();
}
}

我将改写你的文章。所以答案非常简单,您只需从存储库返回列表,Spring就会将列表转换为适当的JSON对象或数组

@CrossOrigin
public class SkillsController {

 public SkillsRepository skillsRepository;

 public SkillsController(SkillsRepository _skillsRepository){
       skillsRepository = _skillsRepository;
  }

  @RequestMapping("/getSkills")
  @CrossOrigin
  public List<skillEntity> getSkills(){ 
     return (List<skillEntity>)skillsRepository.findAll();
  }

}
@CrossOrigin
公共级技能控制器{
公共技能储备技能储备;
公共技能控制员(技能储备){
skillsRepository=\u skillsRepository;
}
@请求映射(“/getSkills”)
@交叉起源
公共列表getSkills(){
return(List)skillsRepository.findAll();
}
}

@Coder已给出正确的解决方案。在客户端,不要忘记更改
响应类型:“json”
@Coder已经给出了正确的解决方案。在客户端,不要忘记更改
响应类型:“json”
乐于帮助:)乐于帮助:)