简单的controller方法和action方法

本文介绍了不同系统中Controller方法和Action方法的基本使用,包括RESTful API中的POST和GET方法,参数定义,路径注解,以及RPC调用中的接口路径定义。同时提到了自定义注解在权限控制和非空验证中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不同系统的controller方法和对应的action方法都不一样,但是基本知识调用路径和接口的定义方法有区别,方法中的编写是一样的,post和get定义,接口参数的定义,路径的编写和注解的使用

1.

Controller

Post

@RestController

@RequestMapping("/store")

public class StoreController extends BaseController {

    @Autowired

    private StoreService service;

    @RequestMapping(value = "/getStoreByCode",method ={RequestMethod.POST})

    public BaseResponseVo getStoreByCode(@RequestBody String code){

        List<Map<String,Object>> list=service.getStoreByCode(code);

        return  BaseResponseVo.success(list);

    }

}

Get

   @RequestMapping(value = "/getContractType/{carSymbol}",method = {RequestMethod.GET})

    public BaseResponseVo getContractType(@PathVariable String carSymbol){

        RentPlanQo rentPlanQo = new RentPlanQo();

        rentPlanQo.setCarSymbol(carSymbol);

        Map<String, Object> map = stockService.getContractType(rentPlanQo);

        if(map==null||map.get("contractType")==null||"".equals(map.get("contractType"))){

            throw new BaseException("111", "未查询到信息!");

        }

        map.remove("billingCompany");

        map.remove("rate");

                   return BaseResponseVo.success(map);

    }

2.这个是使用的rpc,接口路径直接定义

   /**
     * 查询所有可用的银行基础信息
     * @return
     */
    @RSAnnotation(value = "hshcmdm.bank.queryBankAllValid",remark="银行基础信息")
    public List<BankDTO> queryBankAllValid() {
        List<BankModel> bankList= bankMapper.queryBankAllValid();
        List<BankDTO> resultBank=new ArrayList<>();
        for (BankModel bm:bankList){
            BankDTO dto=new BankDTO();
            dto.setCode(bm.getCode());
            dto.setName(bm.getName());
            dto.setAbbreviation(bm.getAbbreviation());
            resultBank.add(dto);
        }
        return resultBank;
    }
        @RSAnnotation(value = "hshcdispatch.dispatchOrder.purCancel", remark = "采购取消")
    public Res purCancel(String orderNo, String userId) {
        logger.info("远程服务--采购取消,客户订单号为:"+orderNo);
        return dispatchOrderService.purCancel(orderNo, userId);
    }

@Service
public class TestRS extends AbstractRS{
//远程服务地址
    @RSAnnotation("hshcstore.test.test")
    public Object test(Object o1){
        System.out.println(o1);
        return TimeUtil.getNowTimeAllStr()+"=>"+o1;
    }

    public static void main(String[] args) {
//        Object obj= RemoteClientUtil.getClient("http://localhost:9000")
//                .exe("hshcstore.test.test","wodeceshi");  测试一下
        Object obj= RemoteClientUtil.exe("hshcstore.test.test","wodeceshi");
        System.out.println(obj);
    }


}
 

3.自定义注解,无框架

自定义注解中的邮箱和type设定了权限和不可为空状态,配置中定义

@aPermission(name =  { "业务管理", "调度管理", "查询" })
@aDev(code = "sun", email = "sun@huash.com", name = "sun")
@aAuth(type = aAuthType.LOGIN)
public Reply getDispatchPage(){
   Map<String, Object> map = _getParameters();
   Page page = service.getDispatchPage(map);
   return new ReplyAjaxPage(page);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值