<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.2</version>
</dependency>
import com.fasterxml.jackson.databind.ObjectMapper;
public class ApiHandler {
public String handleRequest(String jsonRequest) {
try {
ObjectMapper objectMapper = new ObjectMapper();
RequestModel request = objectMapper.readValue(jsonRequest, RequestModel.class);
String response = executeBusinessLogic(request);
return objectMapper.writeValueAsString(response);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private String executeBusinessLogic(RequestModel request) {
return "Hello, " + request.getName() + "!";
}
}
public class RequestModel {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class ApiApplication {
private ApiHandler apiHandler = new ApiHandler();
@PostMapping("/api")
public String handleApiRequest(@RequestBody String jsonRequest) {
return apiHandler.handleRequest(jsonRequest);
}
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
}