//package com.wecloud.im.controller;
//
//import com.wecloud.im.core.common.api.ApiResult;
//import com.wecloud.im.core.log.annotation.OperationLog;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.shiro.authz.annotation.RequiresRoles;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//
//import java.io.IOException;
//
///**
// * Hello World Controller
// **/
//@Slf4j
//@Api(value = "权限测试", tags = {"APP Hello World2"})
//@RestController
//@RequestMapping("/app")
//public class AppHelloWorldController {
//
//    /**
//     * Hello World
//     *
//     * @return
//     * @throws IOException
//     */
//    @GetMapping(value = "/world")
//    @OperationLog(name = "helloWorld")
//    @ApiOperation(value = "helloWorld", response = String.class)
//    public ApiResult<String> helloWorld() throws IOException {
//        log.info("Hello World...app");
//        return ApiResult.ok("Hello World app");
//    }
//
//
//    @GetMapping(value = "/needRole")
//    @OperationLog(name = "needRole")
//    @ApiOperation(value = "needRole", response = String.class)
//    public ApiResult<String> needRole() throws IOException {
//        log.info("Hello World...app");
//        return ApiResult.ok("Hello World app");
//    }
//
//    @GetMapping(value = "/needRoleAdmin")
//    @OperationLog(name = "needRoleAdmin")
//    @ApiOperation(value = "needRoleAdmin", response = String.class)
//    @RequiresRoles("app:admin")
//    public ApiResult<String> needRoleAdmin() throws IOException {
//        log.info("Hello World...app");
//        return ApiResult.ok("Hello World needRoleAdmin");
//    }
//
//    @GetMapping(value = "/needRoleAll")
//    @OperationLog(name = "needRoleAll")
//    @ApiOperation(value = "needRoleAll", response = String.class)
//    @RequiresRoles("app:all")
//    public ApiResult<String> needRoleAll() throws IOException {
//        log.info("Hello World...app");
//        return ApiResult.ok("Hello World needRoleAll");
//    }
//
//    @GetMapping(value = "/noRole")
//    @OperationLog(name = "noRole")
//    @ApiOperation(value = "noRole", response = String.class)
//    public ApiResult<String> noRole() throws IOException {
//        log.info("Hello World...app");
//        return ApiResult.ok("Hello World app noRole");
//    }
//
//}
