Skip to content

Commit 0a20f1a

Browse files
committed
#26 - javascript controller
1 parent 47498ba commit 0a20f1a

File tree

3 files changed

+29
-6
lines changed

3 files changed

+29
-6
lines changed
Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,32 @@
11
package dev.obrienlabs.biometric.nbi.controller;
22

3+
import java.io.IOException;
4+
import java.nio.charset.StandardCharsets;
5+
6+
import org.springframework.beans.factory.annotation.Value;
7+
import org.springframework.core.io.ClassPathResource;
8+
import org.springframework.http.MediaType;
9+
import org.springframework.http.ResponseEntity;
310
import org.springframework.stereotype.Controller;
11+
import org.springframework.util.StreamUtils;
12+
import org.springframework.web.bind.annotation.GetMapping;
413
import org.springframework.web.bind.annotation.RequestMapping;
514

615
@Controller
716
public class WebController {
8-
@RequestMapping(value = "/index")
9-
public String index() {
10-
return "index";
11-
}
17+
18+
@Value("${google.maps.api.key:}")
19+
private String mapsApiKey;
20+
@RequestMapping(value = "/index")
21+
public String index() {
22+
return "index";
23+
}
24+
25+
@GetMapping(value = "/heart", produces = MediaType.TEXT_HTML_VALUE)
26+
public ResponseEntity<String> heart() throws IOException {
27+
ClassPathResource resource = new ClassPathResource("static/heart.html");
28+
String html = StreamUtils.copyToString(resource.getInputStream(), StandardCharsets.UTF_8);
29+
html = html.replace("GOOGLE_MAPS_API_KEY", mapsApiKey);
30+
return ResponseEntity.ok().contentType(MediaType.TEXT_HTML).body(html);
31+
}
1232
}

biometric-nbi/src/main/resources/application.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
2222
# see https://stackoverflow.com/questions/25283198/spring-boot-jpa-column-name-annotation-ignored
2323
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
2424
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
25+
26+
# API key for Google Maps
27+
google.maps.api.key=REPLACE_ME

biometric-nbi/src/main/resources/static/heart.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
#map-canvas { height: 100% }
88
</style>
99
<!-- >script type="text/javascript"
10-
src="https://maps.googleapis.com/maps/api/js?key=A...F8&sensor=false&libraries=visualizatio">
10+
src="https://maps.googleapis.com/maps/api/js?key=GOOGLE_MAPS_API_KEY&sensor=false&libraries=visualizatio">
1111
</script-->
1212
<script async defer
13-
src="https://maps.googleapis.com/maps/api/js?key=A...8&libraries=visualization&callback=initMap">
13+
src="https://maps.googleapis.com/maps/api/js?key=GOOGLE_MAPS_API_KEY&libraries=visualization&callback=initMap">
1414
</script>
1515
<script type="text/javascript">
1616
var reading = 0;

0 commit comments

Comments
 (0)