spring-projects / spring-projects/spring-data-rest
Invalid json schema generated by spring-data-rest [DATAREST-984]
@odrotbohm is already working on this.
Since Dec 31, 2020.
- Dominant language
- Java
- Stars
- 958
- Forks
- 568
- PR merge metrics
- No merged PRs in 30d
Description
Dimitri KOPRIWA opened DATAREST-984 and commented
It appear the json schema generated when calling /api/profile/managers
This is the response json :
{
"title": "Manager",
"properties": {
"new": {
"title": "New",
"readOnly": true,
"type": "boolean"
},
"lastModifiedDate": {
"title": "Last modified date",
"readOnly": false,
"type": "string",
"format": "date-time",
"$ref": "#/definitions/instant"
},
"credentialsNonExpired": {
"title": "Credentials non expired",
"readOnly": true,
"type": "boolean"
},
"active": {
"title": "Active",
"readOnly": false,
"type": "boolean"
},
"login": {
"title": "Login",
"readOnly": false,
"type": "string"
},
"roleList": {
"title": "Role list",
"readOnly": false,
"type": "array",
"items": {
"type": "string"
}
},
"enabled": {
"title": "Enabled",
"readOnly": true,
"type": "boolean"
},
"authorities": {
"title": "Authorities",
"readOnly": true,
"type": "array",
"items": {
"type": "object"
}
},
"createdDate": {
"title": "Created date",
"readOnly": false,
"type": "string",
"format": "date-time",
"$ref": "#/definitions/instant"
},
"lastModifiedById": {
"title": "Last modified by id",
"readOnly": false,
"type": "integer"
},
"accountNonExpired": {
"title": "Account non expired",
"readOnly": true,
"type": "boolean"
},
"createdById": {
"title": "Created by id",
"readOnly": false,
"type": "integer"
},
"username": {
"title": "Username",
"readOnly": true,
"type": "string"
},
"accountNonLocked": {
"title": "Account non locked",
"readOnly": true,
"type": "boolean"
}
},
"definitions": {
"instant": {
"type": "string",
"properties": {
"nano": {
"title": "Nano",
"readOnly": true,
"type": "integer"
},
"epochSecond": {
"title": "Epoch second",
"readOnly": true,
"type": "integer"
}
}
}
},
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#"
}
I can't get it validated in http://www.jsonschemavalidator.net/
Found 4 error(s)
Message:Invalid type. Expected String but got Object.
Schema path: #/definitions/instant/type
Message: Invalid type. Expected String but got Null.
Schema path: #/definitions/instant/type
Message: Invalid type. Expected Integer but got Null.
Schema path: #/properties/createdById/type
Message: Invalid type. Expected Integer but got Null.
Schema path: #/properties/lastModifiedById/type
I use a default spring installation with spring-data-rest.
For some reason, my Instant get serialized under a content sub key.
I asked the question here.
Anyone know what's happening ?
Affects: 2.5.6 (Hopper SR6)
Reference URL: https://github.com/mozilla-services/react-jsonschema-form/issues/447#issuecomment-274263459
Issue Links:
- DATAREST-985 Invalid json schema generated by spring-data-rest
("is duplicated by")
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.