[JAVA-26374-spring-mvc-java] Moved popular articles to spring-mvc-java (#15097)
* [JAVA-26374-spring-mvc-java] Moved "Spring @PathVariable Annotation" article to spring-mvc-java * [JAVA-26374-spring-mvc-java] Moved "Working with Date Parameters in Spring" article to spring-mvc-java
This commit is contained in:
+36
@@ -0,0 +1,36 @@
|
||||
package com.baeldung.datetime;
|
||||
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.format.datetime.DateFormatter;
|
||||
import org.springframework.format.datetime.DateFormatterRegistrar;
|
||||
import org.springframework.format.datetime.standard.DateTimeFormatterRegistrar;
|
||||
import org.springframework.format.number.NumberFormatAnnotationFormatterFactory;
|
||||
import org.springframework.format.support.DefaultFormattingConversionService;
|
||||
import org.springframework.format.support.FormattingConversionService;
|
||||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
|
||||
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@Configuration
|
||||
public class DateTimeConfig extends WebMvcConfigurationSupport {
|
||||
|
||||
@Bean
|
||||
@Override
|
||||
public FormattingConversionService mvcConversionService() {
|
||||
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService(false);
|
||||
|
||||
conversionService.addFormatterForFieldAnnotation(new NumberFormatAnnotationFormatterFactory());
|
||||
|
||||
DateTimeFormatterRegistrar dateTimeRegistrar = new DateTimeFormatterRegistrar();
|
||||
dateTimeRegistrar.setDateFormatter(DateTimeFormatter.ofPattern("dd.MM.yyyy"));
|
||||
dateTimeRegistrar.setDateTimeFormatter(DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss"));
|
||||
dateTimeRegistrar.registerFormatters(conversionService);
|
||||
|
||||
DateFormatterRegistrar dateRegistrar = new DateFormatterRegistrar();
|
||||
dateRegistrar.setFormatter(new DateFormatter("dd.MM.yyyy"));
|
||||
dateRegistrar.registerFormatters(conversionService);
|
||||
|
||||
return conversionService;
|
||||
}
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
package com.baeldung.datetime;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
@RestController
|
||||
public class DateTimeController {
|
||||
|
||||
@PostMapping("/date")
|
||||
public void date(@RequestParam("date") @DateTimeFormat(pattern = "dd.MM.yyyy") Date date) {
|
||||
// ...
|
||||
}
|
||||
|
||||
@PostMapping("/localdate")
|
||||
public void localDate(@RequestParam("localDate") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate localDate) {
|
||||
// ...
|
||||
}
|
||||
|
||||
@PostMapping("/localdatetime")
|
||||
public void dateTime(@RequestParam("localDateTime") @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) LocalDateTime localDateTime) {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
package com.baeldung.pathvariable;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
|
||||
@RestController
|
||||
public class PathVariableAnnotationController {
|
||||
@GetMapping("/api/employees/{id}")
|
||||
@ResponseBody
|
||||
public String getEmployeesById(@PathVariable String id) {
|
||||
return "ID: " + id;
|
||||
}
|
||||
|
||||
@GetMapping("/api/employeeswithvariable/{id}")
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdWithVariableName(@PathVariable("id") String employeeId) {
|
||||
return "ID: " + employeeId;
|
||||
}
|
||||
|
||||
@GetMapping("/api/employees/{id}/{name}")
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdAndName(@PathVariable String id, @PathVariable String name) {
|
||||
return "ID: " + id + ", name: " + name;
|
||||
}
|
||||
|
||||
@GetMapping("/api/employeeswithmapvariable/{id}/{name}")
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdAndNameWithMapVariable(@PathVariable Map<String, String> pathVarsMap) {
|
||||
String id = pathVarsMap.get("id");
|
||||
String name = pathVarsMap.get("name");
|
||||
if (id != null && name != null) {
|
||||
return "ID: " + id + ", name: " + name;
|
||||
} else {
|
||||
return "Missing Parameters";
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping(value = { "/api/employeeswithrequired", "/api/employeeswithrequired/{id}" })
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdWithRequired(@PathVariable String id) {
|
||||
return "ID: " + id;
|
||||
}
|
||||
|
||||
@GetMapping(value = { "/api/employeeswithrequiredfalse", "/api/employeeswithrequiredfalse/{id}" })
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdWithRequiredFalse(@PathVariable(required = false) String id) {
|
||||
if (id != null) {
|
||||
return "ID: " + id;
|
||||
} else {
|
||||
return "ID missing";
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping(value = { "/api/employeeswithoptional", "/api/employeeswithoptional/{id}" })
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdWithOptional(@PathVariable Optional<String> id) {
|
||||
if (id.isPresent()) {
|
||||
return "ID: " + id.get();
|
||||
} else {
|
||||
return "ID missing";
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping(value = { "/api/defaultemployeeswithoptional", "/api/defaultemployeeswithoptional/{id}" })
|
||||
@ResponseBody
|
||||
public String getDefaultEmployeesByIdWithOptional(@PathVariable Optional<String> id) {
|
||||
if (id.isPresent()) {
|
||||
return "ID: " + id.get();
|
||||
} else {
|
||||
return "ID: Default Employee";
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping(value = { "/api/employeeswithmap/{id}", "/api/employeeswithmap" })
|
||||
@ResponseBody
|
||||
public String getEmployeesByIdWithMap(@PathVariable Map<String, String> pathVarsMap) {
|
||||
String id = pathVarsMap.get("id");
|
||||
if (id != null) {
|
||||
return "ID: " + id;
|
||||
} else {
|
||||
return "ID missing";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user