I wish to edit and add a new style in geoserver rest api from Spring Boot.
My code gives error 500. If you know how to make it please, let me know. Of course if you have different method show it too please.
package exp;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
@Component
@RestController
public class GeoserverEdit {
@GetMapping("/addStyle")
public void addStyle() {
String geoServerUrl = "http://10.56.56.66:8081/geoserver";
String workspace = "your_workspace";
String styleName = "your_style";
String newStyleContent = "<StyledLayerDescriptor>...</StyledLayerDescriptor>";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_XML);
headers.setBasicAuth("geoserver", "geoserver");
String styleUrl = geoServerUrl + "/rest/workspaces/" + workspace + "/styles/" + styleName + ".xml";
URI updateUri = URI.create(styleUrl);
RequestEntity<String> requestEntity = new RequestEntity<>(newStyleContent, headers, HttpMethod.PUT, updateUri);
ResponseEntity<String> response = restTemplate.exchange(requestEntity, String.class);
if (response.getStatusCode().is2xxSuccessful()) {
System.out.println("Styl został zaktualizowany pomyślnie.");
} else {
System.out.println("Wystąpił błąd podczas aktualizacji stylu.");
}
}
}