如何在春季mvcrest服务?

我正在尝试制作简单的rest服务,这是由移动开发人员使用的每个人使用的示例。所以我需要向每个人发送静态数据。我正在尝试发送静态数据。

{ name:"abcd" } 

换句话说,如果有人像我这样点击我的系统http://192.168.12.61:8080/springfirst/hello 。那么用户就会超过json。

我这样做是为了制作http://www.programming-free.com/2014/03/spring-mvc-40-restful-web-service-json.html

我按照这一步

  • 下载这些jar文件( – jackson-annotations-xxxjar – jackson-core-xxxjar – jackson-databind-xxxjar)并包含在lib文件夹中。

这是我的代码web.xml

  Spring MVC Application  HelloWeb  org.springframework.web.servlet.DispatcherServlet    HelloWeb /   

你好,servelts.xml

        

controller.js

 package com.tutorialspoint; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/hello") public class HelloController{ @RequestMapping( method = RequestMethod.GET,headers="Accept=application/json") public String printHello(ModelMap model) { return "abcd"; } } 

你有配置问题:

  • 如果在web.xml中使用out context配置文件路径注册DispatcherServlet,则应根据servletName-servlet.xml命名上下文文件。

因此将hello-servelts.xml重命名为HelloWeb-servlet.xml

并在控制器处理程序方法中添加@ResponseBody以返回JSON,如:

  @RequestMapping( method = RequestMethod.GET,headers="Accept=application/json") public @ResponseBody Map printHello(ModelMap model) { Map json = new HashMap(); json.put("name", "abcd"); return json; } 

这是使用ContentNegotiatingViewResolver的工作应用程序。

如何在春季mvcrest服务?

Ans,有不同的方法可供选择。 我在下面列出了一些:

  • 要从HTTP请求或响应中读取/写入JSON数据,您应该使用@RequestBody从HTTP请求读取,并使用@ResponseBody将对象作为JSON写入HTTP响应。
  • Spring提供了ContentNegotiatingViewResolver ,您可以使用它来通过请求URL扩展或请求ACCEPT标头值来解析视图。 例如,如果URL是/view.html,那么它将返回一个具有text/html内容类型的视图。 同样,您可以将其配置为返回JSON。

JSON View的ContentNegotiatingViewResolver配置如下所示:

                 

注意: Jackson mapper或任何其他映射器应该在buildpath上可用,以便进行JSON序列化和反序列化。

如果您使用Maven,请在pom.xml中确认此依赖项:

  com.fasterxml.jackson.core jackson-databind 2.4.3  

还请参见

  • 如何在spring-mvc中将对象从控制器返回到ajax
  • spring mvc 3.1的新function

您可以按照本指南这是一个官方文档,并使用spring-boot ,这将很容易开始编写服务。

你rest服务会是这样的

 @RestController @RequestMapping("/hello") public class HelloController{ @RequestMapping( method = RequestMethod.GET,headers="Accept=application/json") @ResponseBody public String printHello() { return "abcd"; } }