如代码,我现在仅仅只是返回的布尔值,但是我想返回json格式的数据供前端ajax使用。
public class login {
@Autowired
private JavaMailSender mailSender;
// 获取发送方账户信息
@Value("${spring.mail.username}")
private String from;
@GetMapping("/email")
// 谁要接收eamil,邮件标题title,邮件内容centent
public boolean email(@RequestParam(value = "email", required = true) String email, @RequestParam(value = "title", required = true) String title, @RequestParam(value = "centent", required = true) String centent){
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom(from);
message.setTo(email);
message.setSubject(title);
message.setText(centent);
try {
mailSender.send(message);
return true;
} catch (MailException e) {
return false;
}
}
}
现在返回的是true或false。但是如果出现了问题,我想返回false外加错误数据e
springmvc内部支持jackson库(json互转java),你可以设置注解返回响应体,然后返回类型为object,并且在Mvc配置文件中设置自动转换器jackson,这样它会自动把上面说的对象返回自动转换json,当然也可以简单一点。
直接容器注入bean,把这个ObjectMapper注入容器当中,在响应方法中直接获取,然后使用方法将指定对象转为json并返回,如果有错的话,直接返回{err:"true"}让前台来判断请求是否成功
你要先定义一个JSON格式的类,然后在这个类中写一些包装数据和信息的属性。最后在方法调用的时候new一个JSON类返回,这样返回的JSON数据既有封装的数据又有反馈的信息。