Como parte de uma possível solução para essa pergunta desejo criar uma camada no GeoServer via REST que forneça uma instrução SQL junto com um ID do usuário.
Lendo Acho que criaria um tipo de recurso e o publicaria? Eu preciso fazer isso tudo no REST. Alguém tem algum exemplo de código?
Respostas:
Você pode fazer muitas coisas com a API REST do GeoServer que não estão documentadas especificamente e para as quais não existem exemplos de código. Aqui está a estratégia para enfrentá-los.
Primeiro, comece com os exemplos na documentação . Verifique se você está familiarizado com como criar uma nova camada ou área de trabalho simples usando um HTTP POST com XML ou JSON.
Em seguida, através da interface do usuário do GeoServer, crie manualmente o objeto necessário para o qual não há documentação (nesse caso, um tipo de recurso).
Por fim, navegue manualmente para o índice REST GeoServer (
http://your-server/rest
ouhttp://your-server/geoserver/rest
). Navegue pelo índice até encontrar o tipo de recurso que você acabou de criar. Anexe ".xml" ou ".json" à URL deste recurso e você verá sua representação XML ou JSON.Essa representação é o que você precisaria para o POST para criar o tipo de recurso por meio da API. O URL da representação é o URL para o qual você precisaria POST (por exemplo
http://your-server/geoserver/rest/..../myFeatureTypeName.json
).Você pode usar esta estratégia para descobrir como criar ou configurar programaticamente qualquer recurso no GeoServer.
fonte
featuretypes
ponto final da loja, por exemplogeoserver/rest/workspaces/<workspacename>/datastores/<storename>/featuretypes/
Eu sei que esta é uma pergunta antiga, mas apenas no caso de alguém mais estar confuso como eu. A parte importante é que você não pode criar uma camada a partir do ponto de extremidade http: // geoserver / rest / layers .
Se você deseja adicionar uma camada vetorial, isso é feito através do recurso de tipo de recurso:
http://docs.geoserver.org/stable/en/user/rest/api/featuretypes.html
Um POST para:
onde é o espaço de trabalho em que você deseja que o tipo de recurso fique, e a fonte de dados a usar criará um novo tipo de recurso de vetor, ou seja, camada.
Se você está pensando no que pode POST, @Rohan está correto, a maneira mais fácil é consultar um tipo de recurso existente, ou seja, um http GET para
que retornará um tipo de recurso existente como json.
fonte
Sua melhor referência está no guia do usuário. http://docs.geoserver.org/stable/en/user/rest/examples/index.html
fonte
Se você entende Java, pode dar uma olhada neste código simples que usa REST para executar todos os tipos de operações no GeoServer.
fonte
Para adicionar uma camada, um armazenamento de dados e um tipo de característica devem ser definidos. Supondo que eles já estejam definidos junto com um estilo (conforme descrito no guia em http://boundlessgeo.com/2012/10/adding-layers-to-geoserver-using-the-rest-api/ para adicionar uma camada a PUT A solicitação deve ser enviada ao geoserver em:
Com um conteúdo de dados como:
fonte