如何在RESTful服务端的请求中读取JSON消息。

时间:2017-04-03 07:41:02

标签: java json rest jax-rs

我试图读取服务上客户端发送的JSON数据。 无论我尝试什么,我都会在控制台中获得一个空对象。 //我的服务

 @Path("signup")
    public class signupservice {


          @POST
          @Consumes(MediaType.APPLICATION_JSON)
          @Produces(MediaType.APPLICATION_JSON)
          public JSONObject Signmeup( JSONObject inputJsonObj) throws JSONException {

            String fname  = inputJsonObj.toString();   
            System.out.println(fname);   
            JSONObject outputJsonObj = new JSONObject();
            outputJsonObj.put("output", "output");
            return outputJsonObj;
          }
    }

我发送邮递员的请求。Postman setup

2 个答案:

答案 0 :(得分:1)

使用@RequestBody批注从Request标题

中读取发布的数据
  public JSONObject Signmeup(@RequestBody String inputJsonObj) throws {
//your code
    }

答案 1 :(得分:0)

如果要从服务上的客户端发送JSON获取first_name和last_name。你可以试试这个。

@Path("signup")
public class signupservice {
    @POST
    @Consumes("application/json")
    @Produces(MediaType.APPLICATION_JSON)
    public JSONObject Signmeup(String inputJsonObj) throws JSONException {
        JSONObject innerJson = new JSONObject(inputJsonObj);
        //Get first_name and last_name from JSON
        String fname  = innerJson.getString("first_name");
        String lname  = innerJson.getString("last_name");
        System.out.println(fname);
        System.out.println(lname);

        JSONObject outputJsonObj = new JSONObject();
        outputJsonObj.put("output", "output");
        return outputJsonObj;
    }
}