We take separate model for request and response these are basically from UI point of view. Suppose we get the data from end user like : firstName, lastName, email, password. We get this data in JSON formate so we have to convert this JSON object to java object for that we create a separate model object in the package ui.model.request. and it will also used by spring framework to convert JSON object to Java object. Once we persist the data then we get some response back but in that response we. have like pkId of table but we don't want to send this in our response so we can't use a single entity that we used to perisit our data. So we create a new package with ui.model.response and we will copy that required fields and this will used to convert from Java object to JSON and it will be sent back to spring framework Here incoming request like from end user Now this incoming request received by method called createUser(); and @RequestBody annotation will take t