1
我試圖在使用GeoServer Rest的圖層上實現Get,Post,Put和Delete操作。GeoServer返回405:在POST方法中找不到方法
我能夠成功實現Get,Put和Delete方法。
但是當我試圖在圖層上實現Post方法時,GeoServer返回狀態碼:405,即Method Not Found。
這裏是我的代碼:
public async Task<IActionResult> PostLayer(string layerName)
{
var authValue = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.UTF8.GetBytes("admin:geoserver")));
try
{
var client = new HttpClient()
{
DefaultRequestHeaders = { Authorization = authValue }
};
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.BaseAddress = new Uri("http://localhost:8080");
var stringContent = new StringContent(@"C:\Users\i2vsys\Desktop\test.kml");
var response = await client.PostAsync($"/geoserver/rest/layers/{layerName}",stringContent);
response.EnsureSuccessStatusCode();
var stringResponse = await response.Content.ReadAsStringAsync();
return Ok(stringResponse);
}
catch (HttpRequestException ex)
{
return BadRequest(ex.Message);
}
}
但根據GeoServer的API文檔有POST方法。所以,問題肯定在我身邊,我無法找到答案。我也看到了其他問題,但這些解決方案並不適合我。
任何幫助,將不勝感激。
感謝您的鏈接。但我怎樣才能使用REST Api發佈圖層到地理服務器。 –
您發佈了一個新功能類型,其中 爲您形成了新層。請參閱https://gis.stackexchange.com/questions/12970/create-a-layer-in-geoserver-using-rest –