# 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`)。 --- **状态:已完成**