【发布时间】:2020-10-07 09:34:11
【问题描述】:
是否可以进行验证以避免在请求中发送任何额外参数?
例如,在我的端点中,消费者应该发送这些参数:name、family、email
我想通过发送任何额外信息来避开消费者,例如:name、family、email、phone。
我正在使用以下方式来处理端点:
OpenApi Swagger 规范:
post:
tags:
- '/user'
operationId: saveUser
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
name:
type: string
family:
type: string
email:
type: string
Java:
@RequestMapping(value = "/user", consumes = { "application/x-www-form-urlencoded" }, method = RequestMethod.POST)
default ResponseEntity<Void> postUser(
@ApiParam(hidden = true) @RequestParam(value = "name", required = true) String name,
@ApiParam(hidden = true) @RequestParam(value = "family", required = true) String family,
@ApiParam(hidden = true) @RequestParam(value = "email", required = true) String email
) {
return getDelegate().saveUser(name, family, email);
}
【问题讨论】:
-
您好,我不确定我是否理解问题,是消费者发送更多数据字段吗?这是一个问题吗?
-
是的,出于某种原因,我需要强制消费者只发送我在端点中定义的内容。 @MartinByers
标签: java spring api swagger openapi