java - sendSimpeMessage 返回 500
问题描述
我相信我的当前控制器有一些端点问题。我正在尝试使用 JavaMailSender 发送电子邮件。
下面的示例在发送硬编码字符串值时工作得很好。
@RequestMapping("/sendhc")
public void sendSimpleMessage() {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("firstname.lastname@gmail.com");
message.setSubject("subject");
message.setText("text");
emailSender.send(message);
}
我希望能够使用这些值而不是如上所示的硬编码字符串示例发出请求。发布此内容时,我得到 NullPointerException。
@RequestMapping("/send")
public void sendSimpleMessage(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
emailSender.send(message);
}
我正在尝试 POST 到localhost:8080/send
,具有以下值:(如上图所示)
{
"to":"email@gmail.com",
"Subject":"New Errand",
"text":"loremloremloremloremlorem"
}
非常感谢任何关于我可能出错的地方的建议。
解决方案
如果您在请求正文中将参数作为 JSON 发送,则需要在请求中指定,然后转换为 Java,例如:
@RequestMapping("/send")
public void sendSimpleMessage(@RequestBody String json) {
// convert json to Java DTO class using e.g. flexjson.JSONDeserialier
或者,您可以指定路径变量,而不是发送正文:
@RequestMapping("/send/to/{to}/subject/{subject}/text/{text}")
public void sendSimpleMessage(@PathVariable("to") String to, @PathVariable("subject") String subject, @PathVariable("text") String text,) {
推荐阅读
- html - Jekyll site.baseurl 通过 Github Page 发布时不链接到主页,但在 localhost 中工作
- javascript - 我如何从主应用程序中对 iframe 的 200 完整状态做出反应?
- apache-kafka - 为什么我们的一些 Kafka Consumer Groups 没有列出偏移量,即使它们与主题相关联?
- javascript - Accessing the "this" keyword in a React state object
- go - go-elasticsearch fetch all documents
- javascript - How can I display images in React.js app from a json file?
- css - angular 8 getting alternate color on rows that uses ngFor
- python - 逻辑回归算法引发收敛警告
- postgresql - Postgresql重复主字符串键
- angular - Angular - 无法在 mat-select 中调用“keypress”事件的方法