Я пытаюсь получить значение заголовка, которое содержит турецкие символы, такие как «ı, ğ, ü, ş, ö, ç».Я попытался добавить поддержку кодировки ISO-8859-1 в конфигурацию весенней загрузки, но не смог.Вот содержимое файла application.properties
spring.http.encoding.charset=ISO-8859-1
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.http.encoding.force-request=true
spring.http.encoding.force-response=true
А вот пример пост-сопоставления, который принимает параметр name в качестве заголовка запроса.
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SampleController {
@PostMapping(value = "/api/hello", consumes = "application/json", produces = "application/json")
public ResponseEntity<String> samplePost(@RequestHeader("name") String name) {
System.out.println("name : " + name);
return ResponseEntity.ok("Hello " + name);
}
}
Вы можете найти пример curl и System.out.println результат ниже
Curl:
curl -X POST http://127.0.0.1:8080/api/hello -H 'Accept: application/json' -H 'Content-Type: application/json; charset=UTF-8' -H 'name: ığüşöç'
Вывод:
name : ıÄüÅöç
Есть идеи?