Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

components:
examples:
dataSample:
value:
test:bookstore:
bookstore-name: Chapters
categories:
- code: 01
name: SciFi
- code: 02
name: kids
summary: A sample data

Sample

...

response

...

using

...

examples

...

defined

...

in

...

components:

responses:
'200':
description: OK
content:
application/json:
schema:
type: object
example:
         $ref: 'components.yml#/components/examples/dataSample'


Sample

...

request

...

using

...

examples

...

defined

...

in

...

components:

requestBody:
required: true
content:
application/json:
schema:
type: string
examples:
       dataSample:
$ref: 'components.yml#/components/examples/dataSample'


Schema Type for Request and Response


At present most of the requests are defined as schema type String for Request body json. These could be updated to object type. This will introduce below changes:

S. NoSummaryCurrent codeExpected code
1Changing the schema type in openapi.
content:
application/json:
schema:
type: string
content:
application/json:
schema:
type: object
2

Changes in Controller

Changing the datatype to Object

public ResponseEntity<String> createNode
(_, _, final String jsonData, _, _) {
public ResponseEntity<String> createNode
(_, _, final Object jsonData, _, _) {

Converting jsonData to String while passing the data to service layer
cpsDataService.saveData(dataspaceName, anchorName, jsonData,
toOffsetDateTime(observedTimestamp));
cpsDataService.saveData(dataspaceName, anchorName, jsonData.toString(),
toOffsetDateTime(observedTimestamp));


Note: These changes will introduce no changes at the client side. All users can continue to use the API as as they are using currently. This could be verified by executing the CSIT test of cps and dmi-plugin.