package com.shsxt.springmvc.controller;
import com.shsxt.springmvc.po.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.List;
@Controller
public class jsonController {
/**
* json数据开发
* @resPonseBody
* 表示方法响应的是数据
* 如果响应的是字符串,直接输出,如果响应的是JavaBean或者对象,则会将对应的额对象转
* 换成Json格式的字符串响应该注解声明在方法上声明在方法上或者方法的返回值类型的前面,修饰符后面
*
* @RequestBody
* 表示接受的参数是一个json格式的字符串,必须是字符串
* 用来处理来处理 application/json 类型字符串
* 该注解声明在 方法的形参前
*
*如果是ajax请求
* 需要在方法行添加@ResponseBody注解,表示方法的返回值数据会被ajax的回调函数接收
* 如果方法形参设置了@RequestBody注解
* 1,ajax传递参数时候,不能使用json对象,需要将对象设置为json格式字符串
* 2.json格式字符串必须是标准的json格式
* 3.设置请求类型 contentType:"application/json;charset=utf-8",
*/
/**
* @return
* @ResponseBody 表示响应数据, 不做页面转发操作
* 将响应的数据转化成json格式的字符串
* z
* 注解可以放在方法级别
*/
@RequestMapping("queryUser")
@ResponseBody
public User queryUser() {
User user = new User();
user.setUserId(1);
user.setUserName("张三");
user.setUserPwd("123456");
return user;
}
/**
* 注解可以设置在修饰符之后,返回值类型前
*
* @return
*/
@RequestMapping("queryUser02")
public @ResponseBody
User queryUser02() {
User user = new User();
user.setUserId(1);
user.setUserName("张三");
user.setUserPwd("123456");
return user;
}
@RequestMapping("queryUserList")
public @ResponseBody
List<User> queryUserList( String uname,String upwd) {
ArrayList<User> users = new ArrayList<>();
User user = new User();
user.setUserId(1);
user.setUserName("张三");
user.setUserPwd("123456");
User user2 = new User();
user.setUserId(1);
user.setUserName("张四");
user.setUserPwd("123456");
User user3 = new User();
user3.setUserName(uname);
user3.setUserPwd(upwd);
users.add(user3);
users.add(user2); users.add(user);
return users;
}
/*
直接返回字符串
*/
@RequestMapping("test")
//加
@ResponseBody
// 把内容往外输出
//不加就会去访问test.jsp页面
public String test(){
return "test";
}
/**
* @RequestBody 表示接受的参数是json格式的字符串
* @param user
* @return
*/
@RequestMapping("testUser")
@ResponseBody
public User testUser(@RequestBody User user){
return user;
}
}
01-14
127