在WebFlux中执行我的第一步时,我很少使用RestController类来公开GET API以通过id从服务器检索资源,例如:
@GetMapping("{id}")
public Mono<Customer> findById( @PathVariable int id )
{
return Mono.justOrEmpty( service.getById( id ) );
}
接受服务。如果找不到请求的id,getById()将返回NULL,如何将其转换为HTTP代码404和一些自定义消息?
一种方法是将客户包装在响应中,我认为您的服务返回的是单声道。。如果不是用Mono包装。fromCallable()-
e.g.
@GetMapping("/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
public Mono<ResponseEnity<?>> findById( @PathVariable int id )
{
return service.getById(id)
.map(customer -> ResponseEntity.ok(customer))
.switchIfEmpty(Mono.just(new ResponseEntity<>("{\"content\":\"false\"}", HttpStatus.NOT_FOUND));
}
当没有匹配的路由,这时候可能会需要404处理。框架默认的404处理为状态码设为404,如果需要自定义处理,需要编写自定义处理类。 指定默认处理器 配置文件中: return [ 'beans' => [ 'HttpNotFoundHandler' => [ // 指定默认处理器 'handler'
本文向大家介绍python简单文本处理的方法,包括了python简单文本处理的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python简单文本处理的方法。分享给大家供大家参考。具体如下: 由于有多线程的影响,c++项目打印出来的时间顺序不一致,导致不太好在excel中统计,故使用python写了段脚本来解决之。涉及到如下方面 1. txt文本的读取,utf8的处理 2. 字符串的基
问题内容: 我有2 ng-包括HTML。考虑服务器中是否不存在ng-include src之一。截至目前,它只会加载空白html,并且在浏览器控制台中会显示未找到http-404文件。 因此,在这种情况下,我只想将默认错误页面(服务器中存在)加载到该特定div中,即一半显示默认错误页面,另一部分显示通过nginclude加载的正确div。 我的逻辑是,使用HTTP拦截器拦截所有HTTP调用。无论何
问题内容: 我有一个带有服务的应用程序,该服务包装了我的API调用: 并且我正在使用UI-Router在状态之间进行转换: 我不再使用普通的AngularJS路由器,并且难以理解如何实现404。我可以看到抛出状态被拒绝,但是如何在状态路由器中捕获它呢? 问题答案: 仅当没有其他 路由 匹配时才调用该规则。您真正想要的是拦截事件,即在状态转换中出现问题(例如,解析失败)时触发的事件。您可以在状态更改
本文向大家介绍使用Python处理Excel表格的简单方法,包括了使用Python处理Excel表格的简单方法的使用技巧和注意事项,需要的朋友参考一下 Excel 中的每一个单元,都会有这些属性:颜色(colors)、number formatting、字体(fonts)、边界(borders)、alignment、模式(patterns) 等等。 xlsxwriter 格式处理,将待添加数据转换