@Post in Rest Service接受Json值

时间:2016-05-12 03:23:54

标签: java rest tomcat jersey

我一直在尝试学习@POST来使用Jersey创建webservices。 我现在可以使用普通参数完全适应@Get和@Post。 例如,

NullReferenceException

但是,我不确定我是如何接受JSON消息并通过网址创建或处理它。

任何例子都会受到赞赏。

2 个答案:

答案 0 :(得分:1)

创建一个数据传输对象,该对象将用于从UI使用JSON发送并直接使用它。 @Consume可用于配置从UI发送的数据类型格式它可以是JSON或表单提交等

@POST
@Path("/{param}")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.APPLICATION_JSON})
public Response postMsg(UserData userData) {
   ...
}


public class UserData {

    private String userName;
    private String userAddress;
    ... 
    define getter setter 

}


// UI JSON call 

    var url = "rest/employee";
    var type = "POST";
    var data = {
        userName : $("#txtEmpFirstName").val(),
        userAddress : $("#txtEmpLastName").val(),
    };


    $.ajax({
        type : type,
        url : url,
        data : JSON.stringify(data),
        contentType: "application/json",
        success : function(data) {
             alert(data.Success);
             resetEmployee();
             searchEmployee();
        }, error : function(error){ alert(JSON.stringify(error.responseText));}
    });

答案 1 :(得分:0)


@Consumes注释用于指定资源可以接受的表示形式的MIME媒体类型。
为了更好地理解,请遵循此link