用途:GeoServer 是基于 Java 的开源地理空间数据服务器,实现 OGC WMS、WFS、WCS、WMTS 等标准协议;其 REST API 用于以编程方式管理配置,典型场景包括自动化部署(批量创建工作空间、数据存储、发布图层)、CI/CD 集成、AI 智能体通过 HTTP 自主管理地图服务、运维脚本批量修改样式或数据源参数。
主要能力:基础 URL 为 http://{host}:{port}/geoserver/rest,默认认证为 HTTP Basic Auth,用户名 admin、密码 geoserver。支持标准 HTTP 方法(GET/POST/PUT/DELETE),响应格式可选 JSON 或 XML,通过 Accept/Content-Type 请求头或 .json/.xml 后缀指定。覆盖资源包括:系统管理(版本、系统状态、清单、reload、reset)、工作空间与命名空间、矢量数据存储与要素类型、栅格覆盖存储与覆盖、图层与图层组、样式(含 SLD)、OGC 服务(WMS/WFS/WCS/WMTS)全局与工作空间级设置、安全管理(主密码、ACL 规则、用户与角色)以及 GeoWebCache 缓存 seed/truncate 集成。文件上传支持 Shapefile(ZIP)、GeoTIFF、GeoPackage 等。
使用方式:例如获取版本:curl -u admin:geoserver "http://localhost:8080/geoserver/rest/about/version.json";创建工作空间:curl -u admin:geoserver -XPOST -H "Content-Type: application/json" -d '{"workspace":{"name":"myws"}}' "http://localhost:8080/geoserver/rest/workspaces";上传 Shapefile 并自动发布:curl -u admin:geoserver -XPUT -H "Content-Type: application/zip" --data-binary @roads.zip "http://localhost:8080/geoserver/rest/workspaces/myws/datastores/roads/file.shp"。JSON 请求/响应使用单层包装对象(如 {"workspace":{...}})。
限制与注意事项:所有写操作需认证;删除工作空间或数据存储时需加 ?recurse=true 才能级联删除子资源;上传 Shapefile 须打包为 ZIP 且包含 .shp、.shx、.dbf、.prj;图层名与工作空间名建议使用英文字母、数字和下划线;修改图层后可能需要清空 GeoWebCache 缓存;许可证为 GNU GPL v2.0+。