Class CachedCrudController<MANAGED_ENTITY_ID_TYPE extends java.io.Serializable,MANAGED_ENTITY_TYPE extends BaseEntity<MANAGED_ENTITY_ID_TYPE>,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE extends SearchInput,SERVICE_TYPE extends CrudService<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,?>>
- java.lang.Object
-
- com.alon.spring.crud.api.controller.CrudController<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE,SERVICE_TYPE>
-
- com.alon.spring.crud.api.controller.CachedCrudController<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE,SERVICE_TYPE>
-
public abstract class CachedCrudController<MANAGED_ENTITY_ID_TYPE extends java.io.Serializable,MANAGED_ENTITY_TYPE extends BaseEntity<MANAGED_ENTITY_ID_TYPE>,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE extends SearchInput,SERVICE_TYPE extends CrudService<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,?>> extends CrudController<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE,SERVICE_TYPE>
-
-
Field Summary
-
Fields inherited from class com.alon.spring.crud.api.controller.CrudController
createInputMapper, disableContentCaching, managedEntityClass, projectionService, properties, service, updateInputMapper
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedCachedCrudController(SERVICE_TYPE service)Creates a CachedCrudController with disabled ETag featureprotectedCachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy)Creates a CachedCrudController with the provided ETag policy.protectedCachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy, DeepETagResolver deepETagResolver)protectedCachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy, DeepETagResolver deepETagResolver, InputMapper<CREATE_INPUT_TYPE,MANAGED_ENTITY_TYPE> createInputMapper, InputMapper<UPDATE_INPUT_TYPE,MANAGED_ENTITY_TYPE> updateInputMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.springframework.http.ResponseEntity.BodyBuilderbuildResponseEntity(org.springframework.http.HttpStatus status)org.springframework.http.ResponseEntityread(MANAGED_ENTITY_ID_TYPE id, Options options, org.springframework.web.context.request.ServletWebRequest request)org.springframework.http.ResponseEntitysearch(SEARCH_INPUT_TYPE filter, org.springframework.data.domain.Pageable pageable, Options options, org.springframework.web.context.request.ServletWebRequest request)-
Methods inherited from class com.alon.spring.crud.api.controller.CrudController
create, delete, getCollectionDefaultProjection, getRepresentations, getSingleDefaultProjection, normalizeCollectionOptions, normalizeCollectionProjection, normalizeExpand, normalizeSingleOptions, normalizeSingleProjection, resolveFilter, update
-
-
-
-
Constructor Detail
-
CachedCrudController
protected CachedCrudController(SERVICE_TYPE service)
Creates a CachedCrudController with disabled ETag feature
-
CachedCrudController
protected CachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy)
Creates a CachedCrudController with the provided ETag policy. The DeepETagResolver instance is automatically injected and, if there are not exists custom implementations of single and/or collection DeepETagGenerator (annotated with @Primary), the default implementations will be used to resolve ETags. These implementations are based on the updateTimestamp property of the entity (provided by BaseEntity).
-
CachedCrudController
protected CachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy, DeepETagResolver deepETagResolver)
-
CachedCrudController
protected CachedCrudController(SERVICE_TYPE service, ETagPolicy eTagPolicy, DeepETagResolver deepETagResolver, InputMapper<CREATE_INPUT_TYPE,MANAGED_ENTITY_TYPE> createInputMapper, InputMapper<UPDATE_INPUT_TYPE,MANAGED_ENTITY_TYPE> updateInputMapper)
-
-
Method Detail
-
search
@GetMapping("${com.alon.spring.crud.path.search:}") public org.springframework.http.ResponseEntity search(SEARCH_INPUT_TYPE filter, org.springframework.data.domain.Pageable pageable, Options options, org.springframework.web.context.request.ServletWebRequest request)- Overrides:
searchin classCrudController<MANAGED_ENTITY_ID_TYPE extends java.io.Serializable,MANAGED_ENTITY_TYPE extends BaseEntity<MANAGED_ENTITY_ID_TYPE>,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE extends SearchInput,SERVICE_TYPE extends CrudService<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,?>>
-
read
@GetMapping("${com.alon.spring.crud.path.read:/{id}}") public org.springframework.http.ResponseEntity read(@PathVariable MANAGED_ENTITY_ID_TYPE id, Options options, org.springframework.web.context.request.ServletWebRequest request) throws ReadException- Overrides:
readin classCrudController<MANAGED_ENTITY_ID_TYPE extends java.io.Serializable,MANAGED_ENTITY_TYPE extends BaseEntity<MANAGED_ENTITY_ID_TYPE>,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE extends SearchInput,SERVICE_TYPE extends CrudService<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,?>>- Throws:
ReadException
-
buildResponseEntity
public org.springframework.http.ResponseEntity.BodyBuilder buildResponseEntity(org.springframework.http.HttpStatus status)
- Overrides:
buildResponseEntityin classCrudController<MANAGED_ENTITY_ID_TYPE extends java.io.Serializable,MANAGED_ENTITY_TYPE extends BaseEntity<MANAGED_ENTITY_ID_TYPE>,CREATE_INPUT_TYPE,UPDATE_INPUT_TYPE,SEARCH_INPUT_TYPE extends SearchInput,SERVICE_TYPE extends CrudService<MANAGED_ENTITY_ID_TYPE,MANAGED_ENTITY_TYPE,?>>
-
-