# Why Doesn't OSLC Fully Comply with Roy Fielding's HTTP Semantics?

**URL:** <https://forum.open-services.net/t/why-doesnt-oslc-fully-comply-with-roy-fieldings-http-semantics/371>\
**Category:** OSLC\
**Created:** [April 23, 2020, 8:39pm UTC](https://forum.open-services.net/t/why-doesnt-oslc-fully-comply-with-roy-fieldings-http-semantics/371 "2020-04-23T20:39:45Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![sgarfinkel](https://forum.open-services.net/letter_avatar_proxy/v4/letter/s/5daacb/32.png) [@sgarfinkel](https://forum.open-services.net/u/sgarfinkel)\
**Post date:** [April 29, 2020, 3:34pm UTC](https://forum.open-services.net/t/why-doesnt-oslc-fully-comply-with-roy-fieldings-http-semantics/371/3 "2020-04-29T15:34:46Z")

</div>

Hi Mario,

My confusion is not really on the methods and how they are implemented in OSLC, but rather how they are implemented with respect to a particular path.

Given `/foo/{id}`, per Fielding:

1. GET on `/foo` returns all `foo` objects. A set of query string parameters can be used to filter the underlying data set.
2. GET on `/foo/{id}` returns the `foo` with the given `id`.
3. DELETE on `/foo/{id}` deletes the `foo` with the given `id`
4. POST on `/foo` updates a `foo`, the underlying semantics (create a new one? update in-place, etc.) are defined by the application, not by the specification.
5. PUT `/foo/{id}` creates a new `foo` with the given `id` replacing any existing one.

I am specifically confused about why OSLC implements completely different semantics RE: 1, 4, and 5. I’ll unpack:

For 1: OSLC defines Query Capabilities, which are completely independent endpoints for filtering the data set. Why doesn’t OSLC just use query string parameters?

For 4 and 5: Creation Factories could be implemented as POST/PUT at the corresponding `/foo/{id}` endpoints, however OSLC says a separate endpoint must be defined to serve these.

Hope that clarifies the confusion!

---

_[View the full topic](https://forum.open-services.net/t/why-doesnt-oslc-fully-comply-with-roy-fieldings-http-semantics/371)._
