【问题标题】:Server side J2EE Webservice gets null values on parameters服务器端 J2EE Webservice 获取参数的空值
【发布时间】:2014-07-30 12:52:17
【问题描述】:

我是 J2ee 的新手,我在这里做错了什么?我的参数为空值。

HTTP 获取网址

http://:8080/mypath?identity=abcd&identityType=1

代码

@GET
@Path("Request")
@Consumes({ MediaType.TEXT_PLAIN })
public Response get(@PathParam("identity") String identity,
        @PathParam("identityType") int identityType) {
    System.out.println("Identity "+identity+" IdentityType "+identityType) ;

返回

Identity null IdentityType 0

客户端 Junit 代码

    String phoneNumber = new String("abcd");
    ClientConfig config = new DefaultClientConfig();
    Client client = Client.create(config);

    String authenticateService = "http://" + SERVER
            + "/mypath?";

    List<NameValuePair> params = new LinkedList<NameValuePair>();
    params.add(new BasicNameValuePair("identity", phoneNumber));
    params.add(new BasicNameValuePair("identityType", String
            .valueOf(1)));
    String paramString = URLEncodedUtils.format(params, "utf-8");
    authenticateService += paramString;
    URI url = UriBuilder.fromUri(authenticateService).build();
    WebResource service = client.resource(url);

    System.out.println(authenticateService);

    ->Exception Here<- String identityHash = service.type(MediaType.TEXT_PLAIN).get(
            String.class);
    assertNotNull(identityHash);

客户端 println 返回

http://:8080/mypath?identity=abcd&identityType=1

【问题讨论】:

    标签: jakarta-ee tomcat7


    【解决方案1】:

    已修复,将 PathParam 替换为 QueryParam

    @GET
    @Path("Request")
    @Consumes({ MediaType.TEXT_PLAIN })
    public Response get(@QueryParam("identity") String identity,
            @QueryParam("identityType") int identityType) {
        System.out.println("Identity "+identity+" IdentityType "+identityType) ;
    

    【讨论】:

      【解决方案2】:

      为了使用PathParm,您必须调整 url 以及您的方法定义

      网址

      http://:8080/service/Request/abcd/1

      代码

      @Path("Request/{identity}/{identityType}")
      public Response get(@PathParam("identity") String identity, @PathParam("identityType") int identityType)
      

      问候

      【讨论】:

        猜你喜欢
        • 2023-03-19
        • 2018-11-17
        • 1970-01-01
        • 2011-06-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多