JSON详解

import com.alibaba.fastjson.JSON;
import com.qfedu.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//@Controller标注本类为控制类
@Controller
//@RequestMapping("/StudentController2")设置当前类的虚拟路径,就是拼接一个类在路径字符串中的位置,
@RequestMapping("/StudentController2")
public class StudentController2 {

/**
 *  前后端数据交互  通过ajax 进行交互 交互格式是json
 *
 *  返回json 数据
 * @param id
 * @return
 */
// @RequestMapping("/findStudentById"),拼接控制器方法在路径字符串中的位置
@RequestMapping("/findStudentById")
public void findStudentById(int id, HttpServletResponse response) throws IOException {

    Student student = new Student();

    student.setId(id);
    student.setName("XXX");


    //http://localhost:8080/StudentController2/findStudentById?id=888
   // 传参并通过响应对象response返回数据
    // 通过 FastJson 转换为Json 串
    response.getWriter().write(JSON.toJSONString(student));
}


/**
 * 返回java对象
 * @param id
 * @return
 */
// @RequestMapping("/"),拼接控制器方法在路径字符串中的位置
@RequestMapping("/findStudentByIdJson")
//@ResponseBody 设置返回值为回写数据格式,而不是跳转的路径字符串,不写,返回值会按路径处理
@ResponseBody
public Student findStudentByIdJson(int id){

    Student student = new Student();

    student.setId(id);
    student.setName("XXX");

    //将返回值直接作为返回前端的数据,并由视图解析器通过我们导入的jackson包自动转为JSON字符串
    return student;
}

/**
 * 普通 ajax 提交数据  使用对象接收
 * @param student
 * @return
 */
// @RequestMapping("/"),拼接控制器方法在路径字符串中的位置
@RequestMapping("/updateStudent")
//@ResponseBody 设置返回值为回写数据格式,而不是跳转的路径字符串,不写,返回值会按路径处理
@ResponseBody// 返回json 数据
public Student updateStudent(Student student){

    System.out.println("更新学生:"+student);

    //将参数封装进对象,再返回这个对象,并通过视图解析器转为JSON对象
    return student;
}

/**
 * 接收json 数据
 * @param student
 * @return
 */

// @RequestMapping("/"),拼接控制器方法在路径字符串中的位置
@RequestMapping("/updateStudentJson")
//@ResponseBody 设置返回值为回写数据格式,而不是跳转的路径字符串,不写,返回值会按路径处理
@ResponseBody
// @RequestBody 将前端数据封装进形参类型容器
public Student updateStudentJson(@RequestBody Student student){
student.setName(“XXX”);
System.out.println(“更新学生:”+student);
return student;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值