deux servlet qui pointent sur le meme package et le meme webservice mais différente méthode
Bonjour,
je voudrais rajouter une servlet dans mon fichier web.xml pour qu'elle accèdent au meme package et la meme classe, mais font appelle à différente méthodes, mais je n'arrive pas à le faire avec la 2 eme.
Voici mon bloc XML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| <!-- old servlet-->
<servlet>
<servlet-name>api</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config/api-r-servlet.xml</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>api</servlet-name>
<url-pattern>/sitesApi/*</url-pattern>
</servlet-mapping>
<!-- my secod servmet V2 -->
<servlet>
<servlet-name>webservice</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-config/api-web-servlet.xml</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webservice</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping> |
et pour les deux fichier XML api-web-servlet.xml et api-r-servlet.xml j'ai le contenu suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
>
<context:annotation-config/>
<context:component-scan base-package="com.me.project.rest.api" />
<mvc:annotation-driven />
</beans> |
Voila les deux méthodes:
Code:
1 2 3 4 5 6 7 8 9 10
| @RequestMapping(value = "/v2/mySite", method = RequestMethod.GET)
public @ResponseBody
Object SitesV2( @RequestParam(value = "ajouterstatus", required = false) Integer ajouterstatus,
@RequestParam(value = "monadresse", required = false) String monadresseHttpServletRequest request, HttpServletResponse responseHttp{
try {
appname = request.getHeaders( "Name" ).nextElement().toString();
} catch ( Exception e ) {
return new Result( "", ": AppName is Empty" );
} |
Code:
1 2 3 4 5 6 7 8 9 10
| @RequestMapping(value = "/v1/mySite", method = RequestMethod.GET)
public @ResponseBody
Object SitesV1( @RequestParam(value = "ajouterstatus", required = false) Integer ajouterstatus,
@RequestParam(value = "monadresse", required = false) String monadresseHttpServletRequest request, HttpServletResponse responseHttp{
try {
appname = request.getHeaders( "Name" ).nextElement().toString();
} catch ( Exception e ) {
return new Result( "", ": AppName is Empty" );
} |
Alors avec la premiere servlet pour tester mon webservice avec SOAPui j'utilise url suivante:
https://www.developpez.net/forums/localhost:8080/sitesApi/v1/mysite?id=1&fields=site.namej'aurai le resultat que j'attende et pareil avec cette URL aussi : localhost:8080/sitesApi/v2/mysite?id=1&fields=site.name MAIS avec l'url suivante j'aurai pas ce que je cherche : https://www.developpez.net/forums/localhost:8080/api/v1/mysite?id=1&fields=site.name et pareil avec https://www.developpez.net/forums/localhost:8080/api/v2/mysite?id=1&fields=site.name
Sachant que les deux méthode sont copie coller et ça marche avec la premiere servlet sitesApi et non pas avec api
Merci pour vos réponse