Closed barbeau closed 7 years ago
@abyrd, @mattwigway, and @sheldonabrown would you be OK merging this so we can use this validator output in our gtfs-realtime-validator project, and we can revert the commit if anyone complains about adverse effects?
As I mentioned in https://github.com/conveyal/gtfs-validator/issues/17#issuecomment-294271834 I don't think the output is usable as-is because of the infinite recursion when serializing the bounds, so I'd be surprised if this adversely impacted anyone.
I believe the way this was working previously was that we were using inside another project which had this mixin, this deserializer, and this filter on the ObjectMapper (see this file for how to configure those). @barbeau would you mind copying those into this project (I wrote that code, no copyright issues here) - I think this will solve the problem more elegantly?
@mattwigway Sure, I'm working on this now...
Closing this in favor of https://github.com/conveyal/gtfs-validator/pull/40.
Да, та же проблема с Rectangle:
@Schema(description = "The object's collider", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Rectangle collider;
и вот вывод в Postman:
"collider": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { "x": 0.0, "y": 0.0, "width": 0.0, "height": 0.0, "empty": true, "location": { "x": 0.0, "y": 0.0 }, "size": { "width": 0.0, "height": 0.0 }, "bounds2D": { etc