我的代码看起来是这样的,我将首先在接口中定义它,然后实现它。
@Api(value = "sms", description = "the sms API") @RequestMapping(value = "/api/v1/message") public interface SmsApi {
@ApiOperation(value = "XXXXX", nickname = "smsAsyncSendPost", notes = "XXXXX", response = Integer.class, tags={ "sms", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "OK", response = Integer.class) })
@RequestMapping(value = "/sms/async-send",
produces = { "application/json" },
consumes = { "application/json" },
method = RequestMethod.POST)
ResponseEntity<Integer> smsAsyncSendPost(@ApiParam(value = "XXXX" ,required=true ) @Valid @RequestBody Sms body);
}
@RestController public class SmsApiImpl implements SmsApi {
@Autowired
private SmsService smsService;
@Override
public ResponseEntity<Integer> smsAsyncSendPost(@Valid Sms sms) {
try {
this.smsService.smsAsyncSendPost(sms);
return ResponseEntity.ok(1);
} catch (Exception e) {
e.printStackTrace();
}
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(0);
}
}
我写了一个最简单的请求,发现Sentinel可以做URL资源。
@RestController public class SentinelController {
@GetMapping("/hello")
public String hello() {
return "Hello Sentinel";
}
}
我使用的版本和配置如下
com.alibaba.cloud spring-cloud-starter-alibaba-sentinel 2.2.0.RELEASE
spring.cloud.sentinel.transport.port=8719 spring.cloud.sentinel.transport.dashboard=localhost:8080 management.endpoints.web.exposure.include=*
原提问者GitHub用户bbqtk
将其添加到application.properties中:
spring.cloud.sentinel.filter.url-patterns=/**
这是由于旧版本的春季云启动器alibaba sentinel中的默认模式/*造成的。 它在最新版本中进行了改进,不需要添加此配置。
原回答者GitHub用户cdfive
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。