美文网首页
SpringMVC实现移动端接口搭建

SpringMVC实现移动端接口搭建

作者: JustCode | 来源:发表于2017-07-26 10:56 被阅读106次

前言

最近准备深入学习Android网络请求这一块,为了能够更好的了解移动端在请求的过程,便准备自己动手通过SpringMVC搭建一个服务端。由于自己spring这块的知识点掌握地不够,整个过程遇到了一些问题,在这做个记录。

正题

在实际开发中,服务端的数据是以json串的形式发送给移动端的,因此只是实现服务端能够返回json串就达到我的目的了。可以通过两种方式来实现返回json串:

  • 先将数据转换为json串,然后通过HttpServletResponse对象中的PrintWriter对象中的write()方法来实现数据的返回。
    参考代码:
    public static void printAjax(HttpServletResponse response, String result) {
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    try {
    response.getWriter().write(result);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
  • 通过spring的@ResponseBody实现,它用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。因此通过配置可以转换成的json的HttpMessageConverter,就能返回json串了。
    配置完HttpMessageConverter,然后仅仅只需要在Controller方法上添加@ResponseBody注解就欧了,这种方式明显逼格上要高一点,果断采用此种方式来实现。(毕竟高逼格是我一直的追求)

实现步骤

  1. 在maven中添加依赖,由于我所使用的spring版本是4.0.4,因而不支持Gson(spring 4.1之后才支持Gson,不知道是否可以通过其他办法支持gson,没有深入研究,毕竟只要能够给移动端返回json串就ok了)

    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.1.0</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.0.1</version>
    </dependency>
    <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.0.1</version>
    </dependency>
  • 配置spring-mvc.xml文件
    <mvc:annotation-driven>

    <mvc:message-converters register-defaults="true">
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    <property name="supportedMediaTypes">
    <list>
    <value>application/json; charset=UTF-8</value>
    <value>text/html;charset=UTF-8</value>
    </list>
    </property>
    </bean>
    </mvc:message-converters>
    </mvc:annotation-driven>
  • 在Controller中实现方法
    @RequestMapping(value = "/login", method = RequestMethod.POST)
    @ResponseBody // 重点在这,其余都是浮云
    public Map<String, String> login(String username, String password, HttpServletRequest request, HttpServletResponse response) {
    TsUser loginUser = tsLoginService.consoleLogin(request, response, username, password, false, request.getRemoteAddr());
    Map<String, String> map = new HashMap<String, String>();
    map.put("username", loginUser.getUsername());
    map.put("ip", loginUser.getRegisterIp());
    return map;
    }

这就大功告成了!

相关文章

  • SpringMVC实现移动端接口搭建

    前言 最近准备深入学习Android网络请求这一块,为了能够更好的了解移动端在请求的过程,便准备自己动手通过Spr...

  • SpringMVC注解式开发

    一.搭建环境 后端控制器无需实现接口,添加相应注解 springmvc中无需注册controller控制器 spr...

  • 献给移动端的服务器搭建

    移动端进阶之选:移动端开发者也能轻松搭建的服务器 前言: 笔者最近收到了挺多客户端的留言,客户端在等待后台接口的时...

  • 给移动端强制更新的接口

    app版本控制表 版本实体类 写给移动端的判断版本信息的接口 service接口 接口实现类 这里AppVersi...

  • IDEA Maven搭建WebSocket与iOS端的简单实现

    IDEA Maven搭建WebSocket与iOS端的简单实现 本人Java新手,学习过程中尝试Java与移动端的...

  • 11|第十一课:异常处理

    一、异常处理 springMVC实现异常处理,必须实现HandlerExceptionResolver接口。 该接...

  • SpringMVC的文件上传

    SpringMVC的文件上传 1-SpringMVC的请求-文件上传-客户端表单实现(应用) 文件上传客户端表单需...

  • spring拦截器的实现

    1.实现接口HandlerInterceptor 2.配置springMvc.xml文件

  • spring mvc 异常处理机制

    1、原理 springmvc 通过HandlerExceptionResolver 接口来进行异常处理。任何实现该...

  • NodeJs服务端快速搭建

    好开心!今天学会了搭建服务端。应对那些接口还未开发出来,需要调取数据的应用,总是写死在移动端的数据觉得很low,所...

网友评论

      本文标题:SpringMVC实现移动端接口搭建

      本文链接:https://www.haomeiwen.com/subject/ueynkxtx.html