美文网首页
SpringBoot+Postman 接口的接收与返回

SpringBoot+Postman 接口的接收与返回

作者: CNSTT | 来源:发表于2019-05-28 11:40 被阅读0次
/**
 * TestService.java
 * Created at 2019年5月25日
 * Created by Tan
 * Copyright (C) 2018 SAIC VOLKSWAGEN, All rights reserved.
 */
package com.****.dms.manage.service.basedata;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;

import lombok.extern.slf4j.Slf4j;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * <p>ClassName: TestService</p>
 * <p>Description: 测试接口</p>
 * <p>Author: Tan</p>
 * <p>Date: 2019年5月25日</p>
 */
@Service
@Slf4j
public class TestService {

    @Autowired
    private TestPOMapper testMapper;
    
    private final String SUCCESS_CODE = "1";    // 接口返回成功
    private final String ERROR_CODE = "0";      // 接口返回异常 
    
    //上报
    @SuppressWarnings({ "rawtypes", "unchecked" })
    @Transactional(rollbackFor=Exception.class)
    public Map<String, Object> receiveJson(Map<String, Object> param){      
        try {
            Map result = new HashMap(); // 接口返回Map
            List<String> errMsg = new ArrayList<String>(); // 错误信息
            List<String> loss = new ArrayList<String>(); // 异常数据
            List<Map> errlist = new ArrayList<Map>();
            Map errMap = new HashMap();         
            if (BaseUtils.isNullOrEmpty(param.get("data"))) {
                result.put("code", ERROR_CODE);
                result.put("msg", "data数据为空!");
                return result;
            } else {
                log.info("接收参数-----------------------------{}", param);
                JSONArray data = JSONArray.fromObject(param.get("data"));
                for (int i = 0; i < data.size(); i++) {
                    JSONObject map = data.getJSONObject(i);
                    log.info("每一项map-----------------------------{}", map);
                    // 判断必填字段是否为空
                    errMsg = BaseUtils.checkIsValid(map, "emp_id", "emp_name", "mobile");
                    log.info("errMsg-------------------------{}", errMsg);
                    if (!BaseUtils.isNullOrEmpty(errMsg)) {
                        errMap = new HashMap();
                        errMap.put("emp_id", map.get("emp_id"));
                        errlist.add(errMap); // 生成错误信息集合
                        loss.add("emp_id为[" + map.get("emp_id") + "]的数据异常!" + errMsg.toString());
                        continue;
                    }
                }
                if (!BaseUtils.isNullOrEmpty(loss)) {
                    result.put("code", ERROR_CODE); // code为0表示错误
                    result.put("msg", loss.toString());
                    result.put("errList", errlist);
                    return result;
                }
                result.put("code", SUCCESS_CODE); // code为1表示正确
                result.put("msg", "成功!");
                return result;
            }
        } catch (Exception e) {
            ReturnToSADTO<Map<String, Object>> ret = new ReturnToSADTO<>();
            ret.setData(null).setCode(CommonConstant.IF_ERROR).setMsg("系统出错!");
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // 系统出错执行回滚操作
            return ret.toMap();
        }
    }
}

image.png
  log.info("接收参数-----------------------------{}", param);
  JSONArray data = JSONArray.fromObject(param.get("data"));
  for (int i = 0; i < data.size(); i++) {
    JSONObject map = data.getJSONObject(i);
    log.info("每一项map-----------------------------{}", map);
    // 判断必填字段是否为空
    errMsg = BaseUtils.checkIsValid(map, "emp_id", "emp_name", "mobile");
    log.info("errMsg-------------------------{}", errMsg);
    if (!BaseUtils.isNullOrEmpty(errMsg)) {
      errMap = new HashMap();
      errMap.put("emp_id", map.get("emp_id"));
      errlist.add(errMap); // 生成错误信息集合
      loss.add("emp_id为[" + map.get("emp_id") + "]的数据异常!" + errMsg.toString());
      continue;
    }
  }
image.png

com.alibaba.fastjson.JSONObject JSONObject 转化

<!-- pom文件 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.70</version>
</dependency>
package org.example;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class JsonTest {

    public static void main(String[] args) {
        String result = "{\"code\":\"000000\",\"description\":\"SUCCESS\",\"data\":{\"mobile\":\"18911223344\",\"vin\":\"LSVPE26R3C4223345\",\"brand\":\"tt\",\"scIdpId\":\"111\",\"userId\":\"222\",\"register\":true,\"owner\":false}}";
        JSONObject obj = JSON.parseObject(result);
        System.out.println("obj:========" + obj);
        JSONObject obj1 = JSON.parseObject(obj.getString("data"));
        System.out.println("obj1:========" + obj1);
        ResultVO resultVO = JSON.parseObject(JSONObject.toJSONString(obj1), ResultVO.class);
        System.out.println("resultVO:========" + resultVO);
    }
}
image.png

相关文章

网友评论

      本文标题:SpringBoot+Postman 接口的接收与返回

      本文链接:https://www.haomeiwen.com/subject/awjrtctx.html