Springboot返回json格式

2021-05-07 19:33

阅读:296

标签:修改密码   参考文献   复杂   repo   概述   解决   mapping   博客   err   

Springboot返回json格式

1、技术概述

该技术是解决springboot如何返回json格式的问题。学习该技术的起因是我们组的项目需要接口返回json格式,有时还需要多重嵌套返回要求的格式。技术难点
主要在返回嵌套json格式,如何正确的装配并返回也是一个难点。

2、技术详述

核心是使用RestController关键字

@RestController
public class UserController {

  @Autowired
  private UserService userService;

  /*用户登录
  *@成功返回true
  * */
  @PostMapping(value = "/login")
  public HashMap login(@RequestBody User user){
      return  userService.loginCheck(user);
  }

  /*用户注册
  * @成功返回true
  * */
  @ResponseBody
  @PostMapping(value = "/register")
  public HashMap register(@RequestBody User user){
      return userService.registerCheck(user);
  }

  /*修改个人信息
  * 成功返回true
  * */
  @ResponseBody
  @PostMapping(value = "/user/update")
  public HashMap update(@RequestBody User user){
      return userService.updateCheck(user);
  }

  /*修改密码
  * 成功返回true
   */
  @ResponseBody
  @PostMapping(value = "/user/update/password")
  public HashMap updatePassword(@RequestBody User user){
      return userService.updatePassword(user);
  }
}  

在service中返回Map
将要返回的信息写入map中,如以下代码中的result.put就是写的过程。可以将对象写入map中,如result.put("data",user);

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;
	@Transactional(rollbackFor = Exception.class)
    public HashMap updatePassword(User user){
        User user1 = userRepository.findByUserId(user.getUserId());
        HashMap result = new HashMap();
        try {
            if (user1!=null){
                user1.setPassword(user.getPassword());
                userRepository.save(user1);
                result.put("status",1);
                result.put("msg","修改成功");
            }
            else {
                result.put("status",0);
                result.put("msg","修改失败");
            }
        }
        catch (Exception e){
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            result.put("status",0);
            result.put("msg","修改失败");
            return result;
        }
        return  result;
    }
}

以上方法即可解决返回json格式的问题

3、技术使用中遇到的问题和解决过程。

问题:遇到的问题如何在嵌套json中读取数据。
解决方法:使用List读取最外层的标签,层层剖析。

 List list = (List) submitOuter.getContent().get("tableData");
                for (int i = 0; i 

4、总结。

Springboot下的json数据格式处理不是特别复杂,主要是灵活运用Map、List等方法对数据处理后,返回json格式。

5、列出参考文献、参考博客(标题、作者、链接)。

参考文献:
https://www.cnblogs.com/hbolin/p/10657388.html

Springboot返回json格式

标签:修改密码   参考文献   复杂   repo   概述   解决   mapping   博客   err   

原文地址:https://www.cnblogs.com/xwh130/p/13171967.html


评论


亲,登录后才可以留言!