zoukankan      html  css  js  c++  java
  • spring mvc 前后端数据交互笔记(解决415,400问题)

    1:前端发送数据,后端返回界面
         
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/login",
        type: "post",
        data: {"username": "chenhao", "password": "123456"}
    });
    B:服务端
     
    @RequestMapping("/login")
    public String  login(@Valid User user){
       if(userService.login(user)){
            return "index";
       }
       return "login";
    }
     
     
    注意:后端的参数user类型也可以为Map类型,但是最好使用自定义的实体类,可以通过注解@valid可以对user实体类校验。
     
    2:前端发送数据,后端返回json数据(从requestParameter中取数据)
     
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/test",
        type: "post",
        dataType: "json",
        data: {"a":"b"}
    });
     
    B:服务器端
     
    @RequestMapping("/test")
    @ResponseBody
    public  Map<String, Object> test( Map<String, Object> user){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("user", user);
        return map;
    }
     
    3:前端发送数据,后端返回json数据(从requestBody中取数据)
     
    A:浏览器
     
    $.ajax({
        url: "/rest/userController/test",
        type: "post",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify({"a":"b"})
    });
    B:服务端
     
    @RequestMapping("/test")
    @ResponseBody
    public  Map<String, Object> test(@RequestBody Map<String, Object> user){
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("user", user);
        return map;
    }
     
    4:后端数据接收注意点
    spring-mvc的配置文件中需要配置如(需要对应的json的jar包):
     
    MappingJacksonHttpMessageConverter和MappingJackson2HttpMessageConverter对应的是不一样的jackson包
     
    <!--json数据转换 -->
    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property value="application/json" name="supportedMediaTypes"/>
    </bean>
  • 相关阅读:
    调用Type.InvokeMember()时出现MissingMethodException
    C#学习之Delegate
    WCF之元数据交换 (Metadata Exchange)
    定义Enum的开始和结束,这样就能循环Enum了
    定制自己的Visual Studio的Debugger Visualizer
    C#中 #if DEBUG 和 Conditional("DEBUG")的区别
    从哪里开始学习Windows 8?(zz)
    Macro 小总结
    WPF应用的图标
    如何把 Visutal studio中的“printonbreakpoint”消息打印在程序的任何地方
  • 原文地址:https://www.cnblogs.com/chenhao1990/p/4797968.html
Copyright © 2011-2022 走看看