@Controller
@RequestMapping("/example")
public class ExampleController {
@GetMapping("/hello")
public String hello(Model model) {
model.addAttribute("message", "Hello, Spring MVC!");
return "hello";
}
}
@RestController
@RequestMapping("/api")
public class ApiController {
@GetMapping("/example")
public ResponseEntity<String> getExample() {
return ResponseEntity.ok("Hello, RESTful!");
}
@PostMapping("/example")
public ResponseEntity<String> createExample(@RequestBody ExampleDto exampleDto) {
return ResponseEntity.ok("Example created successfully!");
}
}
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ResponseEntity<String> handleException(Exception e) {
LOGGER.error("An exception occurred: {}", e.getMessage());
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body("An error occurred");
}
}
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Autowired
private InterceptorInterceptor interceptorInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(interceptorInterceptor).addPathPatterns("/**");
}
}