我有以下API定义:
@ResponseBody
@PostMapping(path = "/configureSection")
public ResponseEntity<ResultData> configureSegment(@RequestParam() String Section,
@RequestBody SectionConfig sectionConfig);
public class SegmentConfig {
@JsonProperty(value = "txConfig", required = true)
TelemetryConfig telemetryConfig;
@JsonProperty(value = "rxConfig")
ExternalConfig externalConfig;
}
我定义了txConfig is required属性(这是类),但当发送空JSON({}
)时,spring boot仍然运行API,而我希望它返回一个错误,即未设置参数tsConfig。
知道我错过了什么吗?
编辑:使用@Valid和@NotNull解决了它,但是返回的错误信息太多,有办法修复吗?
{
"timestamp": 1588753367913,
"status": 400,
"error": "Bad Request",
"exception": "org.springframework.web.bind.MethodArgumentNotValidException",
"errors": [
{
"codes": [
"NotNull.segmentConfig.telemetryConfig",
"NotNull.telemetryConfig",
"NotNull.services.TelemetryConfig",
"NotNull"
],
"arguments": [
{
"codes": [
"segmentConfig.telemetryConfig",
"telemetryConfig"
],
"arguments": null,
"defaultMessage": "telemetryConfig",
"code": "telemetryConfig"
}
],
"defaultMessage": "Please provide a valid txConfig",
"objectName": "segmentConfig",
"field": "telemetryConfig",
"rejectedValue": null,
"bindingFailure": false,
"code": "NotNull"
}
],
"message": "Bad Request",
"path": "/mypath"
}`
使用@Valid和@NotNull注释进行如下验证:-
@ResponseBody
@PostMapping(path = "/configureSection")
public ResponseEntity<ResultData> configureSegment(@RequestParam() String Section,
@RequestBody @Valid SectionConfig sectionConfig
) {
public class SegmentConfig {
@JsonProperty(value="txConfig", required = true)
@NotNull(message="Please provide a valid txConfig")
TelemetryConfig telemetryConfig;
@JsonProperty(value="rxConfig")
ExternalConfig externalConfig;
}
主要内容:PHP - 必需字段,PHP - 显示错误信息本章节我们将介绍如何设置表单必需字段及错误信息。 PHP - 必需字段 在上一章节我们已经介绍了表的验证规则,我们可以看到"名字", "E-mail", 和 "性别" 字段是必需的,各字段不能为空。 字段 验证规则 名字 必需。 + 只能包含字母和空格 E-mail 必需。 + 必需包含一个有效的电子邮件地址(包含"@"和".") 网址 可选。 如果存在,它必需包含一个有效的URL 备注 可选。多
我正在开发一个文件上传控制器,目前在Postman中测试时出现以下错误。 目前我的控制器非常简单,但首先我需要克服这个问题。 我已经查看了[此处]给出的答案(上传文件springboot必需的请求部分“file”不存在“上传文件springboot必需的请求部分文件不存在”)! 但不幸的是,这里的建议并没有解决我的问题 如果您能帮助解决此错误,我们将不胜感激 这是我的控制器:
另外,如果一个键的值为null,那么它就是被接受的默认值,所以我也不能使用@NotNull。对于eg:[{firstKey:null,secondKey:“value2”,thirKey:“value3”}]是有效的JSON,在反序列化过程中应该毫无异常地进行解析。
问题内容: 因此,我今天更新到Xcode 6 beta 5,并注意到我在Apple类的几乎所有子类中都收到了错误。 错误状态: 类“ x”未实现其超类的必需成员 这是我选择的一个示例,因为该类目前非常轻便,因此易于发布。 所以我的问题是,为什么我会收到此错误,我该如何解决?我没有执行什么?我正在呼叫指定的初始化程序。 问题答案: 来自开发人员论坛上的Apple员工: “向编译器和内置程序声明您确实
我搜索了很多stackoverflow,但没有找到解决问题的方法。当将SpringBoot应用程序作为WAR文件部署到Tomcat 8时,我发现以下错误,在本地它确实可以正常工作 有一个接口 和两个实现类 和二等舱 还有Rest服务 所以我不明白Tomcat怎么找不到像boolean这样的原始数据类型,也不明白为什么我在本地运行它时它能工作。 任何帮助都将不胜感激 问候马蒂亚斯
application.java: servletInitializer.java: