将从 spring-boot 检索到的数据转换为 JSON 并在 angular 前端获取
Convert data retrieved from spring-boot to JSON and fetch it in angular front-end
我想从 postgresql 中的技能实体中检索所有技能,并使用 get 方法将其发送到 Angular 前端 end.In HTTP 请求我需要发送一个 JSON object.How 我可以将检索到的值从 postgresql 转换为 JSON 对象吗?
我已经使用 spring JPA 连接了 postgresql 数据库。而且我还得到了一个字符串值到我的前端。但我想要那些作为 JSON object
这是我的控制器class
@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;
}
这是我的Angular前端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
serialization/deserialization 并且 return 类型是 Json
。而不是 returning String return 类型,return 对象本身,它将被转换为 Json,而无需您的任何额外代码。您的控制器通常如下所示。
@RestController
@CrossOrigin
public class SkillsController {
@Autowired
SkillsRepository skillsRepository;
@GetMapping("/getSkills")
public List<Skill> getSkills() {
return skillsRepository.findAll();
}
}
我将对您的 post 进行一些重写。所以答案非常简单,您可以简单地从存储库中 return 列表,然后 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();
}
}
我想从 postgresql 中的技能实体中检索所有技能,并使用 get 方法将其发送到 Angular 前端 end.In HTTP 请求我需要发送一个 JSON object.How 我可以将检索到的值从 postgresql 转换为 JSON 对象吗?
我已经使用 spring JPA 连接了 postgresql 数据库。而且我还得到了一个字符串值到我的前端。但我想要那些作为 JSON object
这是我的控制器class
@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;
}
这是我的Angular前端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
serialization/deserialization 并且 return 类型是 Json
。而不是 returning String return 类型,return 对象本身,它将被转换为 Json,而无需您的任何额外代码。您的控制器通常如下所示。
@RestController
@CrossOrigin
public class SkillsController {
@Autowired
SkillsRepository skillsRepository;
@GetMapping("/getSkills")
public List<Skill> getSkills() {
return skillsRepository.findAll();
}
}
我将对您的 post 进行一些重写。所以答案非常简单,您可以简单地从存储库中 return 列表,然后 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();
}
}