= REST API (Restful Objects Viewer)
:page-role: -toc -narrow


:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR  CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

include::../section-hooks/causeway.viewer.restfulobjects~pre.adoc[]

[cols="3a,2a,5a", options="header"]
|===
|Property
|Default
|Description
|
[[causeway.viewer.restfulobjects.authentication.strategy-class-name]]
causeway.viewer.restfulobjects. +
authentication.strategy-class-name

|  org.apache.causeway.viewer. +
restfulobjects.viewer.webmodule. +
auth. +
AuthenticationStrategyBasicAuth
| Defaults to `AuthenticationStrategyBasicAuth`.


|
[[causeway.viewer.restfulobjects.base-uri]]
causeway.viewer.restfulobjects. +
base-uri

| 
| If left unset (the default), then the RO viewer will use the `UriInfo` (injected using `Context`) to figure out the base Uri (used to render `href`s).

This will be correct much of the time, but will almost certainly be wrong if there is a reverse proxy.

If set, eg `com/`, then this value will be used instead.


|
[[causeway.viewer.restfulobjects.honor-ui-hints]]
causeway.viewer.restfulobjects. +
honor-ui-hints

| 
| Whether to enable the `x-ro-follow-links` support, to minimize round trips.

The RO viewer provides the capability for the client to set the optional `x-ro-follow-links` query parameter, as described in section 34.4 of the RO spec v1.0. If used, the resultant representation includes the result of following the associated link, but through a server-side "join", somewhat akin to GraphQL.

By default this functionality is disabled, this configuration property enables the feature. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.object-property-values-only]]
causeway.viewer.restfulobjects. +
object-property-values-only

| 
| When rendering domain objects, if set the representation returned is stripped back to a minimal set, excluding links to actions and collections and with a simplified representation of an object's properties.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.strict-accept-checking]]
causeway.viewer.restfulobjects. +
strict-accept-checking

| 
| If set, then any unrecognised `Accept` headers will result in an HTTP _Not Acceptable_ response code (406).


|
[[causeway.viewer.restfulobjects.suppress-described-by-links]]
causeway.viewer.restfulobjects. +
suppress-described-by-links

| 
| If set, then the representations returned will omit any links to the formal domain-type representations.


|
[[causeway.viewer.restfulobjects.suppress-member-disabled-reason]]
causeway.viewer.restfulobjects. +
suppress-member-disabled-reason

| 
| If set, then - should there be an interaction with an action, property or collection that is disabled - then this will prevent the `disabledReason` reason from being added to the returned representation.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.suppress-member-extensions]]
causeway.viewer.restfulobjects. +
suppress-member-extensions

| 
| If set, then the `x-causeway-format` key (under `extensions`) for properties will be suppressed.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.suppress-member-id]]
causeway.viewer.restfulobjects. +
suppress-member-id

| 
| If set, then the `id` key for all members will be suppressed.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.suppress-member-links]]
causeway.viewer.restfulobjects. +
suppress-member-links

| 
| If set, then the detail link (in other words `++]++`) for all members will be suppressed.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.


|
[[causeway.viewer.restfulobjects.suppress-update-link]]
causeway.viewer.restfulobjects. +
suppress-update-link

| 
| If set, then the update link (in other words ` ++]++` to perform a bulk update of an object) will be suppressed.

This is disabled by default. If enabled, then the representations returned are non-standard with respect to the RO Spec v1.0.



|===

include::../section-hooks/causeway.viewer.restfulobjects~post.adoc[]
