无法在Jax-Rs Java中获取请求参数

时间:2018-03-31 09:45:05

标签: java web-services jersey jax-rs

我正在尝试使用jax-rs,java和IntelliJ IDEA实现Web服务。我实现如下:

@POST
@Path("/register")
@Consumes(APPLICATION_FORM_URLENCODED)
@Produces(MediaType.APPLICATION_JSON)
public Response registerUSer(@Context HttpServletRequest request) throws Exception {
    JSONObject data = UserRegitrationProvider.registerUser(request);

    return Response.ok().entity(data.toString()).build();
}

提供者:

public static JSONObject registerUser(HttpServletRequest request) throws Exception{
    JSONObject result = new JSONObject();
    UserRegistrationRepository userRegistrationRepository = new UserRegistrationRepository();
    HashMap<String, String> userInformations = new HashMap<>();

    String username = request.getHeader("username");
    String password = request.getHeader("password");
    String userID = request.getHeader("userid");
    String userType = request.getHeader("usertype");

    System.out.println(username + " - " + userID + " - " + userType + " - " + password);

    userInformations.put("username", username);
    userInformations.put("password", password);
    userInformations.put("userid", userID);
    userInformations.put("usertype", userType);

    userRegistrationRepository.saveUserInfo(userInformations);

    result.put("status", 200);
    return result;
}

我在IntelliJ中使用REST Client插件向我的rest API发送一个post请求。在这里,我发送用户名,密码...作为请求参数。 在提供程序类中,在request.getHeader()部分,我无法获取用户名或任何其他数据。我将这些参数添加到REST客户端的请求参数部分。

我也尝试了请求的getAttribute()和getParameter()方法,但是它们也没有返回任何内容。我做错了什么?

0 个答案:

没有答案