Controller层常用注解:

Controller层常用注解:

@(我的第一个笔记本)[注解]

  1. @RestController 相当于“@Controller,@Controller 和@ResponseBody”的作用,在类开头上注明,作用是返回类中所有@RequestMapping(“”) 方法 的结果。
  2. @Autowired 和@Resource 都是注入bean,区别有待研究
  3. @GetMapping(“/{id}”) 的作用是获得Get请求,相当于@RequestMapping(method = RequestMethod.GET),可用于查询记录。
  4. @PostMapping(“/add”) 的作用是获得POST请求,相当@RequestMapping(method = RequestMethod.POST)., 可用于往数据表中添加记录。
  5. Restful 风格
  6. @RequestMapping(params=”tohello”) ,此处”tohello”是参数,在浏览器中访问时要在”?”后面添加参数名。如:http://localhost:8080/project/hello?tohello
//单个URL
@GetMapping(value = {"/list/{deviceTypeId}","/list"})
public BaseBody getAll(@PathVariable(value = "deviceTypeId",required = false) Long deviceTypeId) throws Exception {
}
//多个URL之间用逗号隔开,表示URL可选择参数
@GetMapping(value = {"/{deviceTypeId}/{dataUnitId}","/{deviceTypeId}"})
    public BaseBody getByDeviceTypeIdAndDataUnitId(@PathVariable("deviceTypeId") Long deviceTypeId,
                                                   @PathVariable(value = "dataUnitId",required = false) Long dataUnitId){
                                                   }
//                                          

**此代表deviceTypeID是与前台绑定的,可以有多个绑定数据,之间用逗号隔开, “required = false” 代表绑定的值可以为空,默认是true。 **

@RestController     
@RequestMapping("/data-unit")
public class DataUnitController {

    @Autowired
    DataUnitService dataUnitService;

    @PostMapping("/add")
    public BaseBody add(@RequestBody DataUnitAddRB dataUnitAddRB) throws Exception {
        BaseBody baseBody = new BaseBody();
        Long dataUnitId = dataUnitService.add(dataUnitAddRB.getDataType(),dataUnitAddRB.getDescription(),
                dataUnitAddRB.getOperation());
        return baseBody.successResponse("创建成功",dataUnitId);
    }

    @GetMapping("/{id}")
    public BaseBody getById(@PathVariable("id") Long id) throws Exception {
        DataUnitDO dataUnitDO = dataUnitService.findById(id);
        BaseBody responseBody = new BaseBody();
        return responseBody.successResponse("查询成功",dataUnitDO);
    }

    @GetMapping(value = {"/list/{deviceTypeId}","/list"})
    public BaseBody getAll(@PathVariable(value = "deviceTypeId",required = false) Long deviceTypeId) throws Exception {
        List<DataUnitDO> dataUnitDOList;
        if(deviceTypeId == null){
            dataUnitDOList = dataUnitService.findAll();
        }else{
            dataUnitDOList = dataUnitService.findByDeviceId(deviceTypeId);
        }
        BaseBody responseBody = new BaseBody();
        return responseBody.successResponse("查询成功",dataUnitDOList);
    }

/**
     * 设备心跳接口
     * @param key
     */
    @RequestMapping("/heart/{key}")
    public void keepAlive(@PathVariable("key") String key){
        deviceService.heartBeatReceived(key);

    }


//序号6的例子:

浏览器访问:http://localhost:8080/jeewx/hello.do?toHello

    @RequestMapping(params = "toHello")
    public ModelAndView toHello(HttpServletRequest request, HttpServletResponse response, ModelMap model) {
        String openid = (String) request.getSession().getAttribute("openid");
        System.out.println("openid 的值是:"+ openid);
        return new ModelAndView("wechat/hello");

    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值