Commit 3fdf0a54 by Patryk Czarnik

extract interface

parent ce321722
package com.example.demo.waluty;
public interface PobieranieWalut {
TabelaWalut pobierzTabele(String data);
}
\ No newline at end of file
...@@ -26,8 +26,9 @@ import org.xml.sax.SAXException; ...@@ -26,8 +26,9 @@ import org.xml.sax.SAXException;
* 2) ten obiekt będzie dostępny dla innych jako "komponent" ("bean") i będzie go wstrzykiwać * 2) ten obiekt będzie dostępny dla innych jako "komponent" ("bean") i będzie go wstrzykiwać
*/ */
@Service @Service
public class PobieranieXML { public class PobieranieXML implements PobieranieWalut {
@Override
public TabelaWalut pobierzTabele(String data) { public TabelaWalut pobierzTabele(String data) {
String adres = "https://api.nbp.pl/api/exchangerates/tables/a"; String adres = "https://api.nbp.pl/api/exchangerates/tables/a";
if(data != null) { if(data != null) {
......
...@@ -17,10 +17,14 @@ public class WalutyController { ...@@ -17,10 +17,14 @@ public class WalutyController {
* Wstrzykiwać można obiekty, które są typu: * Wstrzykiwać można obiekty, które są typu:
* - komponent (bean) istniejący w tej samej aplikacji (tak jest tutaj) * - komponent (bean) istniejący w tej samej aplikacji (tak jest tutaj)
* - klasa o specjalnym znaczeniu, którą Spring "zna", np. ServletContext * - klasa o specjalnym znaczeniu, którą Spring "zna", np. ServletContext
*
* W miejscu użycia zmienna może być typu interfejsowego,
* a Spring wstawi "jakąś implementację" tego interfejsu,
* jeśli taka implementacja jest dostępna wśród komponentów (beanów).
*/ */
@Autowired @Autowired
private PobieranieXML pobieracz; private PobieranieWalut pobieracz;
@GetMapping("/waluty") @GetMapping("/waluty")
public String wyswietlWaluty(String data, Model model) { public String wyswietlWaluty(String data, Model model) {
......
...@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/waluty.rest") @RequestMapping("/waluty.rest")
public class WalutyRest { public class WalutyRest {
@Autowired @Autowired
private PobieranieXML pobieracz; private PobieranieWalut pobieracz;
@GetMapping @GetMapping
public TabelaWalut wyswietlWaluty() { public TabelaWalut wyswietlWaluty() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment