#angular #spring #spring-boot #spring-mvc #kotlin
#angular #весна #spring-boot #spring-mvc #kotlin
Вопрос:
Кажется, я не могу заставить cors работать с sping / kotlin и Angular 10. Я перепробовал практически все, что смог найти в Интернете. Я добавил аннотации cors к контроллеру, api и глобально, но ни один из них не работает. Есть идеи?
@Configuration
@EnableWebMvc
class WebConfig : WebMvcConfigurationSupport() {
override fun addCorsMappings(registry: CorsRegistry) {
println("HHHHHHH")
registry.addMapping("/**")
}
}
@CrossOrigin(origins = ["http://localhost:4200"])
@RestController
class StoreController(
private val repo: TaskRepository
) {
@CrossOrigin
@GetMapping("/test")
fun testGet(): List<String> {
val op = ChromeOptions()
val user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
op.addArguments("user-agent={$user_agent}")
op.addArguments("headless")
val driver = ChromeDriver(op)
driver.get("https://www.nordstrom.com/s/creme-de-la-mer-moisturizing-cream/3057002?origin=coordinating-3057002-0-2-GIFTS_FOR_HER_1-recbot-top_hits_womens_giftsamp;recs_placement=GIFTS_FOR_HER_1amp;recs_strategy=top_hits_womens_giftsamp;recs_source=recbotamp;recs_page_type=homeamp;recs_seed=0amp;color=NO COLOR")
var images = emptyList<String>()
var count = AtomicInteger(0)
while(images.isEmpty() amp;amp; count.get() < 100) {
Thread.sleep(300)
count.addAndGet(1)
images = driver.findElementsByTagName("img")
.filter{ (it.size.width > 250 amp;amp; it.size.height > 250) }.map { it.getAttribute("src") }
}
return images
}
}
Вот код angular
this.http.get("http://localhost:8080/test/", { observe: 'response' }).subscribe(res => {
console.log(res)
})
Ответ №1:
Оказывается, в моем gradle были библиотеки Spring security, и это не очень хорошо сочетается с аннотациями cors.