geoserver API设置图层样式
准备条件
- 图层已发布完毕。存在图层名,如设置了工作区,则为“工作区:图层名”
- 样式已创建完毕。存在样式名,如设置了工作区,则为“工作区:样式名”
使用REST API
Geoserver REST API地址:点我
使用layers
图层操作API,使用PUT方法修改图层属性:
观察API参数,xml形式的参数以layer
开头:
切换到application/json形式,注意此时xml中的layer
却在此处消失了:
但实际调用的时候,却要将参数用layer
包裹,使用postman的情况如下:
defaultStyle.name
设为已经创建的样式名即可
注意geoserver的用户验证方式:
代码调用方式
/**
* @method 更改图层属性
* @param {string} workspace 工作区
* @param {string} layername 图层名
* @param {object} value 更新的属性
*/
async function modify_layer(workspace, layername, value) {
try{
if(!_.isObject(value)) //_ 为lodash
throw Error('参数格式错误,value应为对象');
await request({
method: 'PUT',
// config.geoserver_url为geoserver地址(如果是本机,则为http://127.0.0.1:8080/geoserver)
uri: config.geoserver_url + `/rest/layers/${workspace}:${layername}`,
headers: {
'Content-Type': 'application/json',
// config.geoserver_auth为geoserver账号名与密码以(账号名:密码)的形式经过base64加密后的字符串
// 如果初始账号admin与初始密码geoserver没变,则geoserver_auth为Basic YWRtaW46Z2Vvc2VydmVy
'Authorization': config.geoserver_auth
},
body: {
"layer": value
},
json: true
});
}catch(err) {
if(err) throw err;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具