This tutorial provides the typical steps in migrating a Spring Web MVC Controller to avoid dependency on Spring. It also enables simpler code that can take advantage of all the OfficeFloor features.
The Spring Web MVC Controller to be migrated is taken from the previous tutorial:
@RestController
@RequestMapping("/rest")
public class SpringRestController {
@Autowired
private SpringDependency dependency;
@GetMapping
public ResponseModel get() {
return new ResponseModel("GET " + this.dependency.getMessage());
}
@GetMapping("/path/{param}")
public ResponseModel path(@PathVariable("param") String param) {
return new ResponseModel(param);
}
@PostMapping("/update")
public ResponseModel post(@RequestBody RequestModel request) {
return new ResponseModel(request.getInput());
}
}
To migrate a Spring Web MVC Controller:
The resulting migrated code is as follows:
public class MigratedRestController {
public void get(SpringDependency dependency, ObjectResponse<ResponseModel> response) {
response.send(new ResponseModel("GET " + dependency.getMessage()));
}
public void path(@HttpPathParameter("param") String param, ObjectResponse<ResponseModel> response) {
response.send(new ResponseModel(param));
}
public void post(RequestModel request, ObjectResponse<ResponseModel> response) {
response.send(new ResponseModel(request.getInput()));
}
}
The next tutorial covers migrating Spring Web Flux to WoOF.