1.8 KiB
1.8 KiB
GET /commoncropnames
来源:BrAPI v2.1 校验报告(03-fix.md)
概要
| 项 | 值 |
|---|---|
| 状态 | warning |
| 方法 | GET |
| URL | /brapi/v2/commoncropnames |
| 完整 URL | http://localhost:8081/brapi/v2/commoncropnames |
| 路径模板 | GET /commoncropnames |
| 模块 | Common Crop Names |
| 响应时间 | 264 ms |
校验详情
GET /commoncropnames
Common Crop Names
264 ms
schema mismatch
schema mismatch
Json matches schema: schemas/v2.1/metadata.json (schema mismatch) — Schema: schemas/v2.1/metadata.json
Server response is not valid JSON.
Json matches schema: schemas/v2.1/CommonCropNames/getCommoncropnamesResponse.json (schema mismatch) — Schema: schemas/v2.1/CommonCropNames/getCommoncropnamesResponse.json
Server response is not valid JSON.
修复说明
- 根因:BrAPI 校验器对响应 JSON 较严格;
@context: null、匿名请求下 metadata 中异常的 token 过期 WARNING(年份溢出),以及分页totalPages在pageSize=0时可能触发除零,均可能导致「Server response is not valid JSON」或 metadata schema 失败。 - 修复:
BrApiJacksonConfig+BrApiJsonResponseAdvice:序列化时省略 null 字段(含@context)。BrAPIController.getStatusMessages():匿名用户不再写入 token 过期 WARNING;仅对真实过期时间写入状态。PagingUtility.calculateMetaData():避免pageSize<=0时除零。CropService.getCrops():过滤空作物名并排序,保证result.data为稳定字符串数组。
- 验证:对照 BrAPI v2.1
metadata.json与getCommoncropnamesResponse.json,当前GET /brapi/v2/commoncropnames响应通过 jsonschema 校验;种子数据R__init_data_01_crops.sql提供 Tomatillo、Paw Paw、Maize(minItems: 1)。
状态:已完成