5.SpringBoot

编程入门 行业动态 更新时间:2024-10-11 13:26:26

5.<a href=https://www.elefans.com/category/jswz/34/1769943.html style=SpringBoot"/>

5.SpringBoot

普通方式实现

以前有EndPoint接口 新版本已经废弃

注解方式实现

注解说明

@Endpoint
@WebEndpoint
@ControllerEndpoint
@RestControllerEndpoint
@ServletEndpoint

简单使用

如果在使用类上增加@Endpoint注解,再给方法添加@ReadOperation,@ WritOperation或@DeleteOperation注释后,该方法将通过JMX自动公开,并且在Web应用程序中也通过HTTP公开。


只有在你的项目使用了Jersey,Spring MVC或Spring WebFlux组件时才会使用HTTP协议来公开端点。

用于方法的注解有以下三种,分别对应get post delete 请求

OperationHTTP method
@ReadOperationGET
@WriteOperationPOST
@DeleteOperationDELETE

简单示例helloworld

@Endpoint(id = "hello")
@Component
public class SimpleEndpoint  {@ReadOperationpublic String getHello(){return "get Hello";}@WriteOperationpublic String postHello(){return "post Hello";}@DeleteOperationpublic String deleteHello(){return "delete Hello";}
}

扩展Endpoint

传递参数

仅仅支持简单对象,不支持复杂对象,

增加路径参数

使用@Seleter可以增加路径参数

    @ReadOperationpublic String getHelloWithName(@Selector String name){return "get Hello";}

使用后会生成以下路径

    "hello-name": {"href": "http://127.0.0.1:8080/actuator/hello/{name}","templated": true}

当然也可能生成一下路径

  "hello-args0": {"href": "http://127.0.0.1:8080/actuator/hello/{args0}","templated": true}

使用下面的方法即可解决

注意一个坑,在java 1.8以下几某些1.8低版本中编译出来的class是无法取到参数名的,会导致该接口使用失败,需要在编译时添加-parameters参数然后进行编译
参考资料
参考:附录:intellij idea java8反射获取方法参数名

增加安全校验

更多推荐

5.SpringBoot

本文发布于:2024-02-05 11:06:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1745215.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:SpringBoot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!