Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. package com.java.rest;
  2. import com.java.dto.IncomingTemperature;
  3. import com.java.dto.SensorsTemperature;
  4. import com.java.service.GetSensorsTemperature;
  5. import com.java.service.TemperatureService;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.http.HttpStatus;
  10. import org.springframework.http.ResponseEntity;
  11. import org.springframework.web.bind.annotation.*;
  12.  
  13.  
  14. @RestController
  15. @RequestMapping("/rest")
  16. public class TemperatureRestController {
  17.  
  18. final static Logger logger = LoggerFactory.getLogger(TemperatureRestController.class);
  19.  
  20. @Autowired
  21. TemperatureService temperatureService;
  22. @Autowired
  23. GetSensorsTemperature sensorService;
  24.  
  25. @RequestMapping(value = "/temperature", method = RequestMethod.POST, produces = "application/json")
  26. @ResponseBody
  27. public ResponseEntity<?> addTemperature(@RequestBody IncomingTemperature temperature){
  28. logger.info("Temperature: {} recieved", temperature);
  29. temperatureService.addTemperature(temperature);
  30. return new ResponseEntity<HttpStatus>(HttpStatus.CREATED);
  31. }
  32.  
  33. @RequestMapping(value = "/temperature/{sensorId}", method = RequestMethod.GET, produces = "application/json")
  34. public SensorsTemperature getTemperature(@PathVariable("sensorId") Long sensorId){
  35. logger.info("Getting temperatures for sensor{}", sensorId);
  36. return sensorService.getSensorsTemperature(sensorId);
  37. }
  38.  
  39. package com.java.dto;
  40.  
  41.  
  42. import com.fasterxml.jackson.annotation.JsonFormat;
  43.  
  44. import java.io.Serializable;
  45. import java.util.Date;
  46.  
  47. public class IncomingTemperature implements Serializable{
  48.  
  49. private long sensorId;
  50.  
  51. private double temperature;
  52.  
  53. @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
  54. private Date date;
  55.  
  56. public long getSensorId() {
  57. return sensorId;
  58. }
  59.  
  60. public void setSensorId(long sensorId) {
  61. this.sensorId = sensorId;
  62. }
  63.  
  64. public double getTemperature() {
  65. return temperature;
  66. }
  67.  
  68. public void setTemperature(double temperature) {
  69. this.temperature = temperature;
  70. }
  71.  
  72. public Date getDate() {
  73. return date;
  74. }
  75.  
  76. public void setDate(Date date) {
  77. this.date = date;
  78. }
  79.  
  80. <?xml version="1.0" encoding="UTF-8"?>
  81. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  82. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  83. <modelVersion>4.0.0</modelVersion>
  84.  
  85. <groupId>com.java</groupId>
  86. <artifactId>knowyourheat</artifactId>
  87. <version>0.0.1-SNAPSHOT</version>
  88. <packaging>jar</packaging>
  89.  
  90. <name>KnowYourHeat</name>
  91. <description>Application for temperature monitoring</description>
  92.  
  93. <parent>
  94. <groupId>org.springframework.boot</groupId>
  95. <artifactId>spring-boot-starter-parent</artifactId>
  96. <version>1.4.0.RELEASE</version>
  97. <relativePath/> <!-- lookup parent from repository -->
  98. </parent>
  99.  
  100. <properties>
  101. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  102. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  103. <java.version>1.8</java.version>
  104. </properties>
  105.  
  106. <dependencies>
  107. <dependency>
  108. <groupId>org.springframework.boot</groupId>
  109. <artifactId>spring-boot-starter-data-jpa</artifactId>
  110. </dependency>
  111. <dependency>
  112. <groupId>org.springframework.boot</groupId>
  113. <artifactId>spring-boot-starter-security</artifactId>
  114. </dependency>
  115. <dependency>
  116. <groupId>org.springframework.boot</groupId>
  117. <artifactId>spring-boot-starter-thymeleaf</artifactId>
  118. </dependency>
  119. <dependency>
  120. <groupId>org.springframework.boot</groupId>
  121. <artifactId>spring-boot-starter-web</artifactId>
  122. </dependency>
  123.  
  124. <dependency>
  125. <groupId>mysql</groupId>
  126. <artifactId>mysql-connector-java</artifactId>
  127. <scope>runtime</scope>
  128. </dependency>
  129.  
  130. <dependency>
  131. <groupId>org.springframework.boot</groupId>
  132. <artifactId>spring-boot-starter-mail</artifactId>
  133. </dependency>
  134.  
  135. <dependency>
  136. <groupId>javax.mail</groupId>
  137. <artifactId>mail</artifactId>
  138. <version>1.4.3</version>
  139. </dependency>
  140.  
  141. <dependency>
  142. <groupId>org.springframework.boot</groupId>
  143. <artifactId>spring-boot-starter-test</artifactId>
  144. <scope>test</scope>
  145. </dependency>
  146. </dependencies>
  147.  
  148. <build>
  149. <plugins>
  150. <plugin>
  151. <groupId>org.springframework.boot</groupId>
  152. <artifactId>spring-boot-maven-plugin</artifactId>
  153. </plugin>
  154. </plugins>
  155. </build>
  156.  
  157.  
  158. </project>
  159.  
  160. {
  161. "sensorId" : 1,
  162. "temperture" : 20,
  163. "date" : "2016-10-20 22:10:10"
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement