Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
alx_java2b_20250412
Commits
22e55198
Commit
22e55198
authored
May 25, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TimeController - na razie bez szablonów
parent
7b3a1080
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
0 deletions
+58
-0
TimeController.java
...Spring/src/main/java/org/example/demo/TimeController.java
+58
-0
No files found.
PC35-Spring/src/main/java/org/example/demo/TimeController.java
0 → 100644
View file @
22e55198
package
org
.
example
.
demo
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Locale
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
@Controller
public
class
TimeController
{
@GetMapping
(
"/time1"
)
@ResponseBody
public
LocalTime
time1
()
{
// Gdy metoda zwraca jakiś obiekt (klasy innej niż String i niektóre inne "magiczne" klasy samego Springa),
// a metoda posiada adnotację @ResponseBody, to dane odsyłane są w odpowiedzi w formacie JSON.
return
LocalTime
.
now
();
}
@GetMapping
(
"/time2"
)
@ResponseBody
public
String
time2
()
{
return
LocalTime
.
now
().
toString
();
}
// Gdy metoda zwraca String i posiada adnotację @ResponseBody, to odsyłany jest tekst.
// Domyślnie content-type to jest text/plain, ale jeśli przeglądarka żąda html, to Spring zwróci to oznaczone typem text/html
// Aby wymusić wysłanie odpowiedniego nagłówka Content-Type, możemy dopisać parametr do adnotacji GetMapping lub RequestMapping
private
static
final
DateTimeFormatter
FORMAT_DATY
=
DateTimeFormatter
.
ofPattern
(
"EEEE, dd.MM.yyyy, 'godzina' HH:mm:ss"
,
Locale
.
of
(
"pl"
,
"PL"
));
@GetMapping
(
path
=
"/time3"
,
produces
=
"text/plain"
)
@ResponseBody
public
String
time3
()
{
return
LocalDateTime
.
now
().
format
(
FORMAT_DATY
);
}
// Jak wysłać w odpowiedzi HTML?
// 1. Utworzyć bezpośrednio w kodzie Javy... - słabe
@GetMapping
(
path
=
"/time4"
,
produces
=
"text/html"
)
@ResponseBody
public
String
time4
()
{
LocalDateTime
dt
=
LocalDateTime
.
now
();
return
String
.
format
(
"""
<html><body>
<h1>Data i czas</h1>
<p>Teraz jest godzina <strong style='color:purple'>%s</strong></p>
<p>Dzisiejsza data: <strong style='color:blue'>%s</strong></p>
<p style='color: green'>%s</p>
</body></html>"""
,
dt
.
toLocalTime
(),
dt
.
toLocalDate
(),
dt
.
format
(
FORMAT_DATY
));
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment