opengeospatial / ets-sta10

Repository for the Executable Test Suite for OGC Sensor Things API
Other
6 stars 8 forks source link

PUT Datastream has all mandatory parameters #19

Closed bertt closed 8 years ago

bertt commented 8 years ago

Datastream mandatory parameters Thing.ID, ObservedProperty.ID and Sensor.ID were missing in HTTP PUT to Datastream test

hylkevds commented 8 years ago

I interpreted the word "structural" in the sentence

Services that support PUT SHALL replace all values of structural properties with those specified in the request body.

to mean all non-navigation properties. Thing.ID, ObservedProperty.ID and Sensor.ID are navigation properties and thus not included in this restriction.

The wording is not very clear and the word "structural" is not used anywhere else in the document.

On the other hand, all navigation properties are missing from all puts in the test suite... The put for Observation is missing the Datastream.ID and FeatureOfInterest.ID and the put for HistoricalLocation is missing the Thing.ID.

bertt commented 8 years ago

yes true this issue applies also to other 'navigation' properties.

From a HTTP perspective: a PUT is just like a POST, difference the resource is not created but replaced completely. So all mandatory properties must be in the PUT request IMO.

hylkevds commented 8 years ago

Yes, you're right, from a HTTP perspective all properties should be present.

taniakhalafbeigi commented 8 years ago

@iot.id is "control information". The PUT request needs to have mandatory properties. For example "properties" is not mandatory for a Thing but "description" is mandatory. When id is specified in url, like /Things(1), there is no need to specify id in the PUT body.

taniakhalafbeigi commented 8 years ago

Based on the current specification for OGCSensorThings API, linked entities are not required in PUT request.