No injection source found for a parameter of type public java.util.List
<blockquote>
  <p>org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.
      [FATAL] No injection source found for a parameter of type public java.util.List </p>
</blockquote>

<pre><code>com.org.testing.controller.getSentInviteList(com.org.testing.domain.FriendshipInvitee$Status,com.org.testing.domain.ext.RequestBounds,javax.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication) throws java.lang.IllegalAccessException,com.org.testing.exception.BusinessException 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 com.org.testing.controller, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@190e93e3]}, definitionMethod=public java.util.List com.org.testing.controller.getSentInviteList(com.org.testing.domain.FriendshipInvitee$Status,com.org.testing.domain.ext.RequestBounds,javax.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication) throws java.lang.IllegalAccessException,com.org.testing.exception.BusinessException, parameters=[Parameter [type=class com.org.testing.domain.FriendshipInvitee$Status, source=status, defaultValue=null], Parameter [type=class com.org.testing.domain.ext.RequestBounds, source=null, defaultValue=null], Parameter [type=interface javax.servlet.http.HttpServletResponse, source=null, defaultValue=null], Parameter [type=interface org.springframework.security.core.Authentication, source=null, defaultValue=null]], responseType=java.util.List&lt;com.org.testing.domain.LeaderboardInvitation&gt;}, nameBindings=[]}']

    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:467)
        at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:163)
        at org.glassfish.jersey.server.ApplicationHandler$3.run(ApplicationHandler.java:323)
        at org.glassfish.jersey.internal.Errors$2.call(Errors.java:289)
        at org.glassfish.jersey.internal.Errors$2.call(Errors.java:286)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:286)
        at org.glassfish.jersey.server.ApplicationHandler.&lt;init&gt;(ApplicationHandler.java:320)
        at org.glassfish.jersey.server.ApplicationHandler.&lt;init&gt;(ApplicationHandler.java:285)
        at org.glassfish.jersey.servlet.WebComponent.&lt;init&gt;(WebComponent.java:311)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:170)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:358)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1274)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5320)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
        at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:125)
        at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:109)
        at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122)
        at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:271)
        at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:319)
        at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:316)
        at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:252)
        at org.eclipse.virgo.nano.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:140)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
</code></pre>

<p>I am having a spring-mvc restfull webservice project, I am quite new for Jersey and swagger. I have given my most efforts to create documentation for api's using swagger.but at last moments i saw some limitation of jersey with swagger.</p>

<p>I have covered most api's in documentation but there are following cases which is creating issue for documentation using swagger. Cases are listed below:- </p>

<ol>
<li>If Endpoint have multiple input parameter (Request Params), Jersey uses only path params , it doesn’t support Request params.</li>
<li>If Response type is based on collection , then apis throwing exception.</li>
<li>If Request params have any collection type input parameter.</li>
</ol>

<p>I am using spring 3.x framework in my project and i have added jersey 2.12 version and using swagger 1.0.</p>

<p><strong>I am looking for help to troubleshoot this error.</strong></p>

<p>Here is my code</p>

<pre><code>@Path("/invite/sent/list")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(
        value = "get List", response=LBTest.class,
        responseContainer="List",
        notes = "API to get list.")
@ApiResponses(value = { @ApiResponse(code = 200, message = "Successful retrieval of resource options"), @ApiResponse(code = 500, message = "Internal server error"), @ApiResponse(code = 403, message = "Illegal Access of Resource") })
@RequestMapping(value = "/v2/lb/invite/sent/list", method = RequestMethod.POST)
@PreAuthorize("hasRole('ROLE_USER')")
@ResponseBody
public List&lt;LBTest&gt; getSentInviteList(@ApiParam(value = "status", required = false) @RequestParam(value = "status", required = false) Invitee.Status status, @RequestBody RequestBounds requestBounds,
        @Context HttpServletResponse response, @Context Authentication auth) throws IllegalAccessException, BusinessException
{

   //Bussiness logic here
}
</code></pre>