content: /**
   * <p>Title: FastJsonControllerTest.java</p>
   * <p>Description: FastJsonControllerTest</p>
   * <p>Package: com.alibaba.json.bvt.support.spring.controller</p>
   * <p>Company: www.github.com/DarkPhoenixs</p>
   * <p>Copyright: Dark Phoenixs (Open-Source Organization) 2016</p>
   */
  package com.alibaba.json.bvt.support.spring.mock.controller;
  
  import com.alibaba.fastjson.JSON;
  import com.alibaba.fastjson.JSONObject;
  import com.alibaba.json.bvt.support.spring.mock.entity.FastJsonEnumTestVO;
  import com.alibaba.json.bvt.support.spring.mock.entity.FastJsonGenericityTestVO;
  import com.alibaba.json.bvt.support.spring.mock.entity.FastJsonParentTestVO;
  import com.alibaba.json.bvt.support.spring.mock.entity.FastJsonTestVO;
  import com.alibaba.json.test.entity.Company;
  import org.springframework.stereotype.Controller;
  import org.springframework.web.bind.annotation.*;
  
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import java.util.List;
  
  /**
   * <p>Title: FastJsonControllerTest</p>
   * <p>Description: </p>
   *
   * @author Victor.Zxy
   * @version 1.0
   * @since 2016年4月20日
   */
  @Controller
  @RequestMapping("fastjson")
  public class FastJsonControllerTest {
  
      @RequestMapping("test1")
      public
      @ResponseBody
      JSONObject test1(@RequestBody FastJsonTestVO vo) {
  
          JSONObject jsonObj = new JSONObject();
  
          jsonObj.put("id", vo.getId());
  
          jsonObj.put("name", vo.getName());
  
          return jsonObj;
      }
  
      @RequestMapping("test2")
      public
      @ResponseBody
      JSONObject test1(@RequestBody List<FastJsonParentTestVO> vos) {
  
          JSONObject jsonObj = new JSONObject();
  
          for (FastJsonParentTestVO fastJsonParentTestVO : vos) {
  
              jsonObj.put(fastJsonParentTestVO.getName(), fastJsonParentTestVO.getSonList().size());
          }
  
          return jsonObj;
      }
  
      @ResponseBody
      @RequestMapping(value = "test3", method = RequestMethod.POST)
      public Company test3(HttpServletRequest request, HttpServletResponse response) {
          Company company = new Company();
          return company;
      }
  
      @RequestMapping("test4")
      public
      @ResponseBody
      String test4(@RequestBody FastJsonGenericityTestVO<FastJsonTestVO> queryCondition) {
  
          return JSON.toJSONString(queryCondition);
      }
  
      @RequestMapping("test5")
      public
      @ResponseBody
      String test5(@RequestBody FastJsonEnumTestVO vo) {
  
          return JSON.toJSONString(vo);
      }
  
      @RequestMapping(value = "/test6", method = {RequestMethod.POST, RequestMethod.GET}, produces = {"text/plain", "application/*"})
      public
      @ResponseBody
      Object test6(@RequestParam long userId, @RequestParam boolean flag) {
  
          JSONObject jsonObject = new JSONObject();
  
          jsonObject.put("userId",userId);
          jsonObject.put("flag",flag);
  
          System.out.println(jsonObject.toJSONString());
  
          return jsonObject;
      }
  }
  