java mvc请求返回json格式之实体类编写

项目场景:

在这里插入图片描述
在这里插入图片描述

在java开发中 根据接口文档开发 是java程序员最常见的开发方式,上图是实际开发中跟某公司对接的一个接口,甲方给出入参出参字段 类型, java技术人员根据指定的参数进行开发

问题分析:

这里存在的一个问题是 可能会有小伙伴不知道如何返回数据里面嵌套的data数据,可以把他们看成一个包含关系
在这里插入图片描述


解决方案:

其实很简单,方案三步曲即可解决 直接上代码

步骤一:返回前端的json实体类

为了方便使用这个公用类 我们构造了 ResultType OK()等静态方法 ,需要使用时只需要通过 类名。静态方法名 直接使用

@Data
public class ResultType {
    private Integer code;
    private String message;
    private Boolean success;
    private Long time;
    private String data;
    public ResultType() {
    }
    public ResultType(Integer code, String message, Boolean success, String data) {
        this.code = code;
        this.message = message;
        this.success = success;
        this.time = System.currentTimeMillis();
        this.data = data;
    }
    public static ResultType OK() {
        return new ResultType(200, "success", true, null);
    }
    public static ResultType OK(Object result) {
        return new ResultType(200, "success", true, JSONObject.toJSONString(result));
    }

    public static ResultType EORR() {
        return new ResultType(-200, "系统异常联系管理人员", false, null);
    }

    public static ResultType EORR(Integer code) {
        return new ResultType(code, "fail", false, null);
    }

    public static ResultType EORR(String message) {
        return new ResultType(-200, message, false, null);
    }

    public static ResultType EORR(Integer code, String message) {
        return new ResultType(code, message, false, null);
    }
}

步骤二:编写存放的data数据的实体类:

@Data
public class ResultStotck {
    private  Long total;

    private List<TFXStockVo>list;
}

步骤三:编写数据库查询出来的实体类

@Data
public class TFXStockVo {
    private String sku;
    private Integer quantity;
    private String batch;
    private String owner;
    private BigDecimal cost= new BigDecimal(0);
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: SSM (Spring, Spring MVC, MyBatis) 是一个经典的 Java Web 开发框架。要在 SSM 框架下编写一个控制器类,你需要做以下几件事: 1. 创建一个 Java 类,并在类上使用 @Controller 注解,表明该类是一个控制器。 2. 为该类添加一个方法,并使用 @RequestMapping 注解来映射请求地址。 3. 在方法中处理请求返回适当的响应。 以下是一个示例代码: ``` import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class ExampleController { @RequestMapping("/example") public String handleRequest() { // 处理请求 return "example"; } } ``` 在这个示例中,当请求地址为 "/example" 时,handleRequest() 方法将被调用。返回的字符串 "example" 是一个视图名称,表示该请求应该使用的视图来呈现响应。 ### 回答2: 在SSM框架下编写一个控制器类需要以下步骤: 1. 导入相关的包: 在编写控制器类之前,需要导入相关的包,包括Spring的Controller注解、Autowired注解和RequestMapping注解,以及需要使用的实体类和服务接口。 2. 添加@Controller注解: 在控制器类的类名上方添加@Controller注解,表示这是一个控制器类。 3. 添加@Autowired注解: 在需要使用的服务接口上方添加@Autowired注解,实现依赖注入,这样控制器就可以使用服务接口的方法。 4. 添加@RequestMapping注解: 在需要调用的控制器方法上方添加@RequestMapping注解,用于指定该方法的映射路径,可以是相对路径或者绝对路径。 5. 编写控制器方法: 在控制器类中可以编写多个控制器方法,每个方法对应一种请求。控制器方法的返回值可以是String类型,表示视图的逻辑名称;也可以是void类型,通过HttpServletResponse对象返回JSON格式数据。 6. 在方法体中调用服务接口方法: 在控制器方法体内部可以调用注入的服务接口的方法,实现业务逻辑的处理。 7. 处理参数: 控制器方法可以接收请求参数,可以通过@RequestParam注解指定参数名称,或者通过@RequestParam注解的value属性指定参数名称,也可以不使用注解,参数名称需要与请求参数名称一致。 8. 返回结果: 控制器方法执行完成后,可以将处理结果返回给前端。如果返回String类型,表示返回给前端逻辑视图名称,框架会根据视图解析器的配置查找对应的视图页面;如果返回void类型,可以通过HttpServletResponse对象将结果以JSON格式返回给前端。 以上就是在SSM框架下编写一个控制器类的基本步骤,根据实际需求和业务逻辑的复杂程度,还可以添加更多的方法和注解。 ### 回答3: 在SSM框架下编写一个控制器类的步骤如下: 1. 首先,在项目中新建一个控制器类,可以使用注解@Controller标识该类为一个控制器。 2. 使用注解@RequestMapping来表示控制器类的请求映射路径。可以在类级别和方法级别都使用该注解,用于处理请求映射到控制器类和方法的URL。 3. 在方法上使用@RequestMapping注解来表示方法级别的请求映射路径,指定该方法处理的URL请求。 4. 在方法的参数中可以使用@RequestParam注解来接收请求参数。 5. 在方法中编写具体的业务逻辑处理代码,可以调用Service层的方法来完成业务逻辑。 6. 使用注解@ResponseBody将方法的返回值转换为JSON格式返回给前端。 7. 可以通过在方法中使用ModelAndView对象来设置视图名称和数据模型,实现页面跳转和数据传递。 8. 可以使用注解@PathVariable来接收RESTful风格的URL中的参数。 9. 可以使用注解@RequestBody来接收前端传递的JSON格式请求数据。 10. 可以使用注解@SessionAttributes来声明控制器类需要存储到session中的属性。 11. 使用注解@InitBinder来进行数据绑定、格式化和校验。 12. 使用注解@ControllerAdvice和@ExceptionHandler来处理全局异常。 编写完控制器类后,将其配置到Spring的配置文件中,使其能够自动扫描到,并与前端进行交互。同时需要注意,控制器类中对应的方法需要与前端页面的请求方式和URL路径相对应,以实现正确的请求映射

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值