Commit 0ab9fd36 by Patryk Czarnik

przykłady bez bazy danych - poprawki

parent 9b346521
package sklep.rest; package sklep.rest;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
@Path("/now") import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
@Path("/dt")
// @Singleton // @Singleton
public class DataCzas { public class DataCzas {
// W JAX-RS domyślne zachowanie jest takie, że dla każdego requestu tworzony jest nowy obiekt klasy obsługującej zapytania. // W JAX-RS domyślne zachowanie jest takie, że dla każdego requestu tworzony jest nowy obiekt klasy obsługującej zapytania.
// (polityka "per request"; można ją zmienić za pomocą adnotacji @Singleton - wtedy jeden obiekt obsłuży wszystkie zapytania) // (polityka "per request"; można ją zmienić za pomocą adnotacji @Singleton - wtedy jeden obiekt obsłuży wszystkie zapytania)
// Daje to możliwość zapisania pewnych ulotnych informacji w polach prywatnych tej klasy - nikt nam ich nie nadpisze. // Daje to możliwość zapisania pewnych ulotnych informacji w polach prywatnych tej klasy - nikt nam ich nie nadpisze.
private LocalDateTime now = LocalDateTime.now();
private LocalDateTime dt = LocalDateTime.now();
{ {
// ten blok wykona się podczas tworzenia każdego obiektu System.out.println("Powstaje obiekt TimeResource z odczytanym czasem " + dt);
System.out.println("Powstał obiekt DataCzas z czasem równym " + now);
} }
// ta metoda obsługuje adres .../api/now // ta metoda obsługuje adres .../dt
@GET @GET
public LocalDateTime odczytajDataICzas() { public LocalDateTime odczytajDataICzas() {
return now; return dt;
} }
// ta metoda obsługuje adres .../api/now/date // ta metoda obsługuje adres .../dt/date
@GET @GET
@Path("/date") @Path("/date")
public LocalDate odczytajDate() { public LocalDate odczytajDate() {
return now.toLocalDate(); return dt.toLocalDate();
} }
// ta metoda obsługuje adres .../api/now/date/year // ta metoda obsługuje adres .../dt/date/year
@GET @GET
@Path("/date/year") @Path("/date/year")
public int odczytajRok() { public int odczytajRok() {
return now.getYear(); return dt.getYear();
} }
// ta metoda obsługuje adres .../api/now/date/month // ta metoda obsługuje adres .../dt/date/month
@GET @GET
@Path("/date/month") @Path("/date/month")
public int odczytajMiesiac() { public int odczytajMiesiac() {
return now.getMonthValue(); return dt.getMonthValue();
} }
// ta metoda obsługuje adres .../api/now/date/day // ta metoda obsługuje adres .../dt/date/day
@GET @GET
@Path("/date/day") @Path("/date/day")
public int odczytajDzien() { public int odczytajDzien() {
return now.getDayOfMonth(); return dt.getDayOfMonth();
} }
// ta metoda obsługuje adres .../api/now/time // ta metoda obsługuje adres .../dt/time
@GET @GET
@Path("/time") @Path("/time")
public LocalTime odczytajCzas() { public LocalTime odczytajCzas() {
return now.toLocalTime(); return dt.toLocalTime();
}
// ta metoda obsługuje adres .../dt/time/hour
@GET
@Path("/time/hour")
public int odczytajGodzine() {
return dt.getHour();
}
// ta metoda obsługuje adres .../dt/time/minute
@GET
@Path("/time/minute")
public int odczytajMinute() {
return dt.getMinute();
} }
// ta metoda obsługuje adres .../api/now/time/second // ta metoda obsługuje adres .../dt/time/second
@GET @GET
@Path("/time/second") @Path("/time/second")
public int odczytajSekunde() { public int odczytajSekunde() {
return now.getSecond(); return dt.getSecond();
} }
} }
...@@ -6,14 +6,14 @@ import org.springframework.context.annotation.Configuration; ...@@ -6,14 +6,14 @@ import org.springframework.context.annotation.Configuration;
@Configuration @Configuration
public class JerseyConfig extends ResourceConfig { public class JerseyConfig extends ResourceConfig {
/* Musimy zapewnić, aby podczas startu aplikacji na obiekcie ResourceConfig (z Jerseya) /* Musimy zapewnić, aby podczas startu aplikacji na obiekcie ResourceConfig (z Jerseya)
* została wywołan metoda register dla wszystkich "resource classes", które wchodzą w skład aplikacji JAX-RS. * została wywołana metoda register dla wszystkich "resource classes", które wchodzą w skład aplikacji JAX-RS.
* W wersji Springowej nie ma klasy typu Application. * W wersji Springowej nie ma klasy typu Application.
*/ */
public JerseyConfig() { public JerseyConfig() {
register(Hello.class); register(Hello.class);
// register(DataCzas.class); register(DataCzas.class);
// register(Kalkulator.class); register(Kalkulator.class);
// register(RProducts.class); // register(RProducts.class);
} }
......
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