> On Jul 30, 2015, at 4:55 PM, Thomas Manson <dev.mansonthomas_at_gmail.com> wrote:
>
> Hi Santiago,
>
>
> well, no, I think it was just my last try.
>
> What is the proper way to achieve this ?
> Is it FormParam ?
>
> Do I need ParamConverter ? where can I find a sample ?
I suggest that you consult Jersey’s user guide, at least the part on JSON [1]. Typically you’d process JSON payloads using an entity parameters (not decorated with any of the *Param annotation).
— Santiago
[1]
https://jersey.java.net/documentation/latest/user-guide.html#json <
https://jersey.java.net/documentation/latest/user-guide.html#json>
>
>
> On Thu, Jul 30, 2015 at 3:36 PM, Santiago Pericasgeertsen <santiago.pericasgeertsen_at_oracle.com <mailto:santiago.pericasgeertsen_at_oracle.com>> wrote:
> Thomas,
>
> Do you really intend Equipier to be passed as a query parameter instead of the entity? If so, did you define a ParamConverter for it?
>
> — Santiago
>
>> On Jul 30, 2015, at 3:53 AM, Thomas Manson <dev.mansonthomas_at_gmail.com <mailto:dev.mansonthomas_at_gmail.com>> wrote:
>>
>> Hi all,
>>
>> I'm new to Jersey and I'm converting an existing project (for the French Red Cross) from DWR (www.directwebremoting.org <http://www.directwebremoting.org/>) to Jersey.
>>
>> My project code is available here : https://github.com/dev-mansonthomas/crf-rdp <https://github.com/dev-mansonthomas/crf-rdp>
>>
>> I've some exposed methods that takes a Java Object as parameter, and on startup I get warnings :
>>
>> 2015-07-30 09:27:38,459 - INFO - RMI TCP Connection(2)-127.0.0.1 (FrameworkServlet.java:503) - FrameworkServlet 'crf-rdp-spring-mvc': initialization completed in 173 ms
>> juil. 30, 2015 9:27:39 AM org.glassfish.jersey.internal.Errors logErrors
>> SEVERE: Following issues have been detected:
>> WARNING: No injection source found for a parameter of type public void fr.croixrouge.rdp.services.restServices.homepage.EquipiersGestion.createEquipier(fr.croixrouge.rdp.model.monitor.Equipier) throws java.lang.Exception at index 0.
>> WARNING: No injection source found for a parameter of type public void fr.croixrouge.rdp.services.restServices.homepage.EquipiersGestion.modifyEquipier(fr.croixrouge.rdp.model.monitor.Equipier) throws java.lang.Exception at index 0.
>>
>> 2015-07-30 09:27:39,766 - WARN - RMI TCP Connection(2)-127.0.0.1 (JawrRequestHandler.java:376) - Jawr initialized in DEVELOPMENT MODE. Do NOT use this mode in production or integration servers.
>>
>> Do you have any hint to share with me ?
>>
>>
>> The concerned code :
>> @Component
>> @Path("/equpier")
>> @Produces(MediaType.APPLICATION_JSON)
>> @Api(value="EquipierEditor", description="Allow to do CRUD+Search operation on Equipier")
>>
>> public class EquipiersGestion
>> {
>> ....
>> @POST
>> @Consumes("application/json")
>> @ApiOperation(value="Create a new Equipier")
>> @Path("/create")
>> public void createEquipier(@ApiParam(value="equipier" ,required=true) @QueryParam ("equipier")Equipier equipier) throws Exception
>> {
>> ...
>>
>> My Jersey initialization is done this way :
>> web.xml
>> <servlet>
>> <servlet-name>Jersey REST Service</servlet-name>
>> <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
>> <!-- Register resources and providers under com.vogella.jersey.first package. -->
>> <init-param>
>> <param-name>javax.ws.rs.Application</param-name>
>> <param-value>fr.croixrouge.rdp.services.restServices.JerseyRegisterResource</param-value>
>> </init-param>
>> <load-on-startup>1</load-on-startup>
>> </servlet>
>>
>>
>> <servlet>
>> <servlet-name>Jersey2Config</servlet-name>
>> <servlet-class>com.wordnik.swagger.jersey.config.JerseyJaxrsConfig</servlet-class>
>> <init-param>
>> <param-name>api.version</param-name>
>> <param-value>1.1.1</param-value>
>> </init-param>
>> <init-param>
>> <param-name>swagger.api.basepath</param-name>
>> <param-value>http://localhost:8080/crf-rdp/private/rest <http://localhost:8080/crf-rdp/private/rest></param-value>
>> </init-param>
>> <load-on-startup>2</load-on-startup>
>> </servlet>
>>
>>
>> <servlet-mapping>
>> <servlet-name>Jersey REST Service</servlet-name>
>> <url-pattern>/private/rest/*</url-pattern>
>> </servlet-mapping>
>>
>> fr.croixrouge.rdp.services.restServices.JerseyRegisterResource
>> public class JerseyRegisterResource extends ResourceConfig
>> {
>> public JerseyRegisterResource()
>> {
>> //CRF-RDP app
>> register(LieuEditor.class);
>> register(EquipiersGestion.class);
>> register(Homepage.class);
>>
>> register(CreditsAndChangeLogDwrService.class);
>> register(InterventionListService.class);
>> register(JacksonFeature.class);
>> register(MultiPartFeature.class);
>>
>> packages(true, "fr.croixrouge.rdp.model.monitor");
>>
>> //swagger
>> register(com.wordnik.swagger.jersey.listing.ApiListingResourceJSON.class);
>> register(com.wordnik.swagger.jersey.listing.JerseyApiDeclarationProvider.class);
>> register(com.wordnik.swagger.jersey.listing.JerseyResourceListingProvider.class);
>>
>> }
>> my pom.xml
>>
>> <properties>
>> <org.springframework.version>4.1.6.RELEASE</org.springframework.version>
>> <org.apache.httpcomponents.version>4.1.1</org.apache.httpcomponents.version>
>> <com.sun.jersey>2.19</com.sun.jersey>
>> <com.wordnik.swagger>1.3.12</com.wordnik.swagger>
>> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
>> </properties>
>> <!-- Jersey/REST -->
>> <dependency>
>> <groupId>org.glassfish.jersey.containers</groupId>
>> <artifactId>jersey-container-servlet</artifactId>
>> </dependency>
>> <dependency>
>> <groupId>org.glassfish.jersey.media</groupId>
>> <artifactId>jersey-media-moxy</artifactId>
>> </dependency>
>>
>> <dependency>
>> <groupId>org.glassfish.jersey.media</groupId>
>> <artifactId>jersey-media-json-jackson</artifactId>
>> </dependency>
>>
>> <dependency>
>> <groupId>org.glassfish.jersey.ext</groupId>
>> <artifactId>jersey-spring3</artifactId>
>> <exclusions>
>> <exclusion>
>> <groupId>org.springframework</groupId>
>> <artifactId>spring</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>org.springframework</groupId>
>> <artifactId>spring-core</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>org.springframework</groupId>
>> <artifactId>spring-web</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>org.springframework</groupId>
>> <artifactId>spring-beans</artifactId>
>> </exclusion>
>> <exclusion>
>> <groupId>org.glassfish.hk2</groupId>
>> <artifactId>hk2</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>> <!-- jersey end -->
>>
>> <!-- swagger -->
>> <dependency>
>> <groupId>com.wordnik</groupId>
>> <artifactId>swagger-jersey2-jaxrs_2.11</artifactId>
>> <version>${com.wordnik.swagger}</version>
>> </dependency>
>>
>> <dependency>
>> <groupId>com.wordnik</groupId>
>> <artifactId>swagger-core_2.11</artifactId>
>> <version>${com.wordnik.swagger}</version>
>> </dependency>
>> <dependency>
>> <groupId>com.wordnik</groupId>
>> <artifactId>swagger-jaxrs_2.11</artifactId>
>> <version>${com.wordnik.swagger}</version>
>> </dependency>
>> <!-- swagger end-->
>>
>>
>> Thanks for your help !
>> Thomas.
>>
>
>