首页 > 解决方案 > 如何在spring boot中保存对数据库的响应

问题描述

我有一个简单的 post 方法,它接受温度并检查温度是否大于或等于 37.4 并返回已清除或未清除的响应。

 @PostMapping(value = "/temperature")
    public ResponseEntity<?> Temperature(@Valid @RequestBody Activation activation) throws UnsupportedEncodingException {
            Temperature temperature = new Temperature();
            temperature.setStatus(activation.getStatus());
            temperature.setTemperature(activation.getTemp());
                if (db_activation.getCode().equals(code)) {
                    temperature.setSource("VENUE");
                    temperatureRepository.save(temperature);
                    return ResponseEntity.ok(activation.getTemp() < 37.4 ? "Cleared" : "Not cleared"); 
                }
            }

如何将状态列(可以清除或不清除)的响应插入到数据库中,它是发布请求还是放置?请建议如何做到这一点

标签: javaspringrest

解决方案


选择正确的请求类型只是约定俗成的问题。从技术上讲,您可以对任何类型的请求执行任何操作。按照惯例:POST 向服务器发送一些新数据,PUT 发送服务器数据的更新。因此,如果它是持久数据,则 POST 将是“添加”,而 PUT 将是“更新”。

您可以使用相同的方法执行此操作,如下所示:

if (activation.getTemp()< 37.4) {
    temperature.setStatus("Cleared");
} else {
    temperature.setStatus("Not cleared");
}

而不是这一行:

temperature.setStatus(activation.getStatus());

推荐阅读