Search code examples
javaspringweb-servicesspring-mvcrequest-mapping

URL of webservice Get return Null Parameter


I'm using spring MVC to build a simple WebService

This are my classes

1 - Interface

import org.compiere.framework.VO;

    import com.audaxis.compiere.api.CompiereAPIApplicationException;
    import com.audaxis.erp.service.IBaseService;

    public interface IADTabService extends IBaseService  {

        public VO read(String window_ID, String tab_ID) throws CompiereAPIApplicationException;

    }

2 - Controller

@Controller
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
@Api(tags="AD")
public class ADTabWs extends BaseWs<IADTabService> {

    @RequestMapping(value="/Tab/window/{window}/tab/{tab}", method = RequestMethod.GET)
    public @ResponseBody VO read(@PathVariable String window, String tab, @RequestHeader(value="X-SessionId", required=false) String session_id) 
            throws CompiereAPIApplicationException  {
        //@RequestHeader("X-SessionId") 
        return service.read(window, tab);
    }

}

Now , i'm using Jason to test my webservice

enter image description here

Problem:

  • Parameter window_ID = 143 --> OK
  • parameter tab_ID = NULL --> KO

enter image description here

AND This is the log :

2018-04-04 15:38:28.897 INFO  c.a.compiere.service.ad.ADTabService - 143 - null 

I can't find the problem !!!


Solution

  • Please edit your function like below:-

    @RequestMapping(value="/Tab/window/{window}/tab/{tab}", method = RequestMethod.GET)
    public @ResponseBody VO read(@PathVariable String window, @PathVariable String tab, @RequestHeader(value="X-SessionId", required=false) String session_id) 
            throws CompiereAPIApplicationException  {
        //@RequestHeader("X-SessionId") 
        return service.read(window, tab);
    }
    

    @PathVariable was missing from the String tab parameter.