use*_*611 2 asynchronous spring-mvc spring-boot
我目前正在努力在某些条件下返回 http 响应状态代码。假设 taskService.getNewTasks 的返回对象为 null。在这种情况下,我想返回状态代码 404。在某些异常情况下,我想返回一些 50x,依此类推。
到目前为止我的代码
@RestController
public class TaskController {
@Autowired
private TaskService taskService;
@GetMapping(path = "gettasks")
private Future<Tasks> getNewTasks() {
return taskService.getNewTasks();
}
...
}
@Service
public class TaskService {
@Async
public Future<Tasks> getNewTasks() {
...
return CompletableFuture.completedFuture(tasks);
}
}
Run Code Online (Sandbox Code Playgroud)
这可能适合你。
@GetMapping(path = "gettasks")
private CompletableFuture<ResponseEntity<Tasks>> getNewTasks() {
CompletableFuture<Tasks> future = new CompletableFuture<>();
future.complete(taskService.getNewTasks());
if(yourCondition){
return future.thenApply(result -> new ResponseEntity<Tasks>(result, HttpStatus.STATUS_1));
}
return future.thenApply(result -> new ResponseEntity<Tasks>(result, HttpStatus.STATUS_2));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3910 次 |
| 最近记录: |