如何在servlet中读取json值?

如何在servlet中读取json值?,json,servlets,Json,Servlets,我通过邮递员将json作为帖子发送到我的url 如何在servlet doPOST()中读取此json值 输入json: { "token":"ABC123" } 您的JSON文档可以解析为如下所示的类: @数据 公开课Foo{ 私有字符串令牌; } 然后,您可以使用Jackson的 @WebServlet(“/foo”) 公共类FooServlet扩展了HttpServlet{ 私有对象映射器映射器=新对象映射器(); @凌驾 受保护的void doPost(HttpServlet

我通过邮递员将json作为帖子发送到我的url

如何在servlet doPOST()中读取此json值

输入json:

{
    "token":"ABC123"
}

您的JSON文档可以解析为如下所示的类:

@数据
公开课Foo{
私有字符串令牌;
}
然后,您可以使用Jackson的

@WebServlet(“/foo”)
公共类FooServlet扩展了HttpServlet{
私有对象映射器映射器=新对象映射器();
@凌驾
受保护的void doPost(HttpServletRequest请求,
HttpServletResponse resp)引发IOException{
Foo Foo=mapper.readValue(req.getInputStream(),Foo.class);
//和福做点什么
分别设置状态(HttpServletResponse.SC_OK);
}
}
但是,在大多数实际应用程序中,这不是您应该做的事情。servlet的级别有点太低,一些框架的创建使得事情变得更加简单。实际上,大多数框架都是在servlet之上构建的

JAX-RS 在JAX-RS及其实现(如Jersey)中,您将拥有以下内容:

@Path(“/foo”)
公共类资源{
@职位
@使用(MediaType.APPLICATION_JSON)
公众响应doSomethingWithFoo(Foo-Foo){
//和福做点什么
返回Response.ok().build();
}
}
SpringWebMVC 在Spring Web MVC中,您可以获得以下内容:

@RestController
公共类FooController{
@PostMapping(path=“/foo”,consumes=MediaType.APPLICATION\u JSON\u VALUE)
公共响应doSomethingWithFoo(@RequestBody Foo Foo){
//和福做点什么
返回ResponseEntity.ok();
}
}

有关JAX-RS和SpringWebMVC之间差异的详细信息,请参阅本文