企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 端口作用域 此页面参照了EasySwoole Distributed的文档,原文档地址 [https://www.kancloud.cn/tmtbe/goswoole/1086150]: https://www.kancloud.cn/tmtbe/goswoole/1086150 我们知道通过 @RestController 注解标记控制器可以接下该类下的路由,那么该注解,还为我们提供了基于配置文件 [esd.port.http.name](http://esd.port.http.name/) 的作用域,看一下配置文件。 ```yml esd: port: http: name: http host: 0.0.0.0 port: 8080 sock_type: 1 open_http_protocol: true ``` 也就是当前路由绑定在`name`为`http`的8080端口下,并且默认的访问方法为GET,如果您使用了@RequestMapping 但未指定 method 时,该类中的注解会使用@RestController的默认参数GET。 同时 @RestController 还有几个参数可以配置。 | 参数名称 | 参数作用 | | :------------ | :----------------------------------------------------------- | | value | 路由前缀,该参数默认可不写 | | defaultMethod | 该类下的注解默认方法,默认为GET | | portTypes | 端口访问类型,http,ws,tcp,udp 默认为 http | | portNames | 端口名称,默认为配置文件中 [esd.port.http.name](http://esd.port.http.name/) 的值,如果不指定,会绑定所有端口 | 如果您启用了多个端口,比如下面的配置,路由默认会作用在所有端口上。 ```yml esd: port: http: name: http host: 0.0.0.0 port: 8080 sock_type: 1 open_http_protocol: true admin: name: admin host: 0.0.0.0 port: 8081 sock_type: 1 open_http_protocol: true ``` > 如果您将注解 @RestController 的参数portNames改为 @RestController(portNames={"admin"}),那么路由会仅绑定在 8081 端口,否则会绑定所有端口。