Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Migrate to networknt json-schema-validator 3.x (Jackson 3 API)

Đang mở
#21 7 bình luận 6 reaction 0 người được giao Xem trên GitHub

@stefanobaghino đang làm issue này rồi.

Từ ngày 18/6/2026.

  • #24 của @stefanobaghino — đang mở

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
java
Lĩnh vực
api, backend-api-design

Hướng nghiên cứu

Bắt đầu từ các lệnh gọi SchemaRegistry.getSchema(JsonNode) và Schema.validate(JsonNode), sau đó lần theo pipeline transformer và các Format validator tùy chỉnh. So sánh các điểm vào của InputFormat.JSON với việc phân tách dialect 3.0/3.1 và cố định Jackson 3 BOM. Hoàn tất có nghĩa là thư viện build được với networknt 3.x, API com.atlassian.oai.validator.* vẫn không thay đổi và hành vi của các số nằm ngoài phạm vi được xác nhận.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

networknt json-schema-validator 3.x moved its public API from Jackson 2 (com.fasterxml.jackson.databind) to Jackson 3 (tools.jackson.databind) and removed the Jackson-2 node overloads (SchemaRegistry.getSchema(JsonNode), Schema.validate(JsonNode)). This library builds against 2.0.1 and calls those overloads, so any consumer that puts networknt 3.x on the classpath gets a NoSuchMethodError when the first schema is compiled.

A property bump alone won't do it: swagger-parser produces Jackson 2 nodes while networknt 3.x consumes Jackson 3, so there's a boundary to bridge — without touching the com.atlassian.oai.validator.* public API.

Proposed approach:

  • Feed networknt JSON text through its InputFormat.JSON entry points instead of Jackson-2 nodes, leaving the transformer pipeline and the 3.0/3.1 dialect split intact.
  • Move the custom Format validators to Jackson 3 nodes (networknt's Format.matches(...) now hands them in).
  • Pin the Jackson 3 BOM to match what networknt depends on.

One behavior change worth confirming: a value beyond Double.MAX_VALUE is now rejected by networknt as a type error ("number expected") rather than reaching the custom double-format validator — still rejected, different error key.

Questions before I open a PR:

  1. Prefer the InputFormat.JSON text boundary, or converting nodes to Jackson 3?
  2. Is the format.double → type change on out-of-range values acceptable?

Raising here first per CONTRIBUTING; I'll sign the Atlassian CLA before submitting.

Ngôn ngữ chính
Java
Star
17
Fork
6
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của atlassian/openapi-request-validator

Tất cả issue của atlassian/openapi-request-validator

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.