Class GetMethodImplementor
java.lang.Object
io.quarkus.rest.data.panache.deployment.methods.StandardMethodImplementor
io.quarkus.rest.data.panache.deployment.methods.GetMethodImplementor
- All Implemented Interfaces:
MethodImplementor
-
Field Summary
Fields inherited from class io.quarkus.rest.data.panache.deployment.methods.StandardMethodImplementor
responseImplementorFields inherited from interface io.quarkus.rest.data.panache.deployment.methods.MethodImplementor
APPLICATION_HAL_JSON, APPLICATION_JSON -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected StringGet a name of a method which this controller uses to access data.protected voidimplementInternal(io.quarkus.gizmo.ClassCreator classCreator, ResourceMetadata resourceMetadata, ResourceProperties resourceProperties, io.quarkus.gizmo.FieldDescriptor resourceField) Generate JAX-RS GET method.Methods inherited from class io.quarkus.rest.data.panache.deployment.methods.StandardMethodImplementor
addConsumesAnnotation, addContextAnnotation, addDefaultValueAnnotation, addDeleteAnnotation, addGetAnnotation, addLinksAnnotation, addMethodAnnotations, addOpenApiResponseAnnotation, addOpenApiResponseAnnotation, addOpenApiResponseAnnotation, addOpenApiResponseAnnotation, addPathAnnotation, addPathParamAnnotation, addPostAnnotation, addProducesAnnotation, addProducesJsonAnnotation, addPutAnnotation, addQueryParamAnnotation, addSecurityAnnotations, addSortQueryParamValidatorAnnotation, appendToPath, hasSecurityCapability, hasValidatorCapability, implement, implementTryBlock, isNotReactivePanache, isResteasyClassic
-
Constructor Details
-
GetMethodImplementor
public GetMethodImplementor(io.quarkus.deployment.Capabilities capabilities)
-
-
Method Details
-
implementInternal
protected void implementInternal(io.quarkus.gizmo.ClassCreator classCreator, ResourceMetadata resourceMetadata, ResourceProperties resourceProperties, io.quarkus.gizmo.FieldDescriptor resourceField) Generate JAX-RS GET method. The RESTEasy Classic version exposesRestDataResource.get(Object). and the generated code looks more or less like this:
The RESTEasy Reactive version exposes@GET @Produces({ "application/json" }) @Path("{id}") @LinkResource(rel = "self", entityClassName = "com.example.Entity") public Response get(@PathParam("id") ID id) { try { Entity entity = restDataResource.get(id); if (entity != null) { return entity; } else { return Response.status(404).build(); } } catch (Throwable t) { throw new RestDataPanacheException(t); } }ReactiveRestDataResource.delete(Object)and the generated code looks more or less like this:@GET @Produces({ "application/json" }) @Path("{id}") @LinkResource(rel = "self", entityClassName = "com.example.Entity") public Uni<Response> get(@PathParam("id") ID id) { try { return restDataResource.get(id) .map(entity -> entity == null ? Response.status(404).build() : Response.ok(entity).build()); } catch (Throwable t) { throw new RestDataPanacheException(t); } }- Specified by:
implementInternalin classStandardMethodImplementor
-
getResourceMethodName
Description copied from class:StandardMethodImplementorGet a name of a method which this controller uses to access data.- Specified by:
getResourceMethodNamein classStandardMethodImplementor
-