Quantcast
Channel: Active questions tagged servlets - Stack Overflow
Viewing all articles
Browse latest Browse all 675

No injection source found for a parameter of type public when create simple servlet

$
0
0

I tried to create a simple servlet, but I got some error when the pod goes up:

Caused by: org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.\n[[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response be.servlets.testServlet.createEnv(java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest,java.lang.String) at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[application/json], producedTypes=[application/json], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class be.servlets.testServlet, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@747a8258]}, definitionMethod=public javax.ws.rs.core.Response be.servlets.testServlet.createEnv(java.lang.String,java.lang.String,javax.servlet.http.HttpServletRequest,java.lang.String), parameters=[Parameter [type=class java.lang.String, source=name, defaultValue=null], Parameter [type=class java.lang.String, source=external_id, defaultValue=null], Parameter [type=interface javax.servlet.http.HttpServletRequest, source=null, defaultValue=null], Parameter [type=class java.lang.String, source=USER_ID, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}']\n\tat 

This is my servlet:

package be.servlets;import com.jcabi.aspects.Loggable;import fj.data.Either;import io.swagger.annotations.*;import lombok.RequiredArgsConstructor;import org.springframework.stereotype.Controller;import java.util.List;import javax.ws.rs.*;import javax.ws.rs.core.MediaType;import javax.ws.rs.core.Response;@Loggable(prepend = true, value = Loggable.DEBUG, trim = false)@Path("/v1")@Api(value = "test servlet")@Controller@RequiredArgsConstructorpublic class testServlet {    @POST    @Path("/test")    @Consumes(MediaType.APPLICATION_JSON)    @Produces(MediaType.APPLICATION_JSON)    @ApiOperation(value = "Create Consumer Env", httpMethod = "POST", notes = "Return generated id")    @ApiResponses(value = {            @ApiResponse(code = 200, message = "OK"),            @ApiResponse(code = 201, message = "Created"),            @ApiResponse(code = 400, message = "Bad request"),            @ApiResponse(code = 401, message = "Unauthorized"),            @ApiResponse(code = 403, message = "Forbidden"),            @ApiResponse(code = 404, message = "Not Found"),            @ApiResponse(code = 500, message = "Internal Server Error"),            @ApiResponse(code = 409, message = "conflict")    })    public Response createEnv(@ApiParam(value = "name", required = true) String name,            @ApiParam(value = "external_id", required = true) String external_id) {        return null;    }    @PUT    @Path("/test/{id}")    @Produces(MediaType.APPLICATION_JSON)    @ApiOperation(value = "Update name field", httpMethod = "PUT", notes = "Update name of given id")    @ApiResponses(value = {            @ApiResponse(code = 200, message = "OK"),            @ApiResponse(code = 400, message = "Bad request"),            @ApiResponse(code = 401, message = "Unauthorized"),            @ApiResponse(code = 403, message = "Forbidden"),            @ApiResponse(code = 404, message = "Not Found"),            @ApiResponse(code = 500, message = "Internal Server Error"),            @ApiResponse(code = 409, message = "conflict")    })    public Response updateName(@PathParam("id") final String id,            @ApiParam(value = "name", required = true) String name) {        return null;    }    @GET    @Path("/test/{id}")    @Consumes(MediaType.APPLICATION_JSON)    @Produces(MediaType.APPLICATION_JSON)    @ApiOperation(value = "Retrieve Consumer Env", httpMethod = "GET", notes = "Retrieves a consumer environment by its id", response = DistributionStatusListResponse.class)    @ApiResponses(value = {            @ApiResponse(code = 200, message = "OK"),            @ApiResponse(code = 400, message = "Bad request"),            @ApiResponse(code = 401, message = "Unauthorized"),            @ApiResponse(code = 403, message = "Forbidden"),            @ApiResponse(code = 404, message = "Not Found"),            @ApiResponse(code = 500, message = "Internal Server Error")    })    public Response getEnvById(@PathParam("id") final String id) {        return null;    }    @DELETE    @Path("/test/{id}")    @Produces(MediaType.APPLICATION_JSON)    @ApiOperation(value = "delete ENV", httpMethod = "DELETE", notes = "Returns HTTP response code")    @ApiResponses(value = {            @ApiResponse(code = 200, message = "OK"),            @ApiResponse(code = 400, message = "Bad request"),            @ApiResponse(code = 401, message = "Unauthorized"),            @ApiResponse(code = 403, message = "Forbidden"),            @ApiResponse(code = 404, message = "Not Found"),            @ApiResponse(code = 500, message = "Internal Server Error")    })    public Response deleteEnv(@PathParam("id") final String id) {        return null;    }}

I attempted to address the issue by renaming the method to createEnvironments, but encountered the same error. Additionally, I augmented the method signature by adding more parameters using @HeaderParam, yet the error persisted.

Thank you :)


Viewing all articles
Browse latest Browse all 675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>