小编Wiz*_*eek的帖子

Spring @CrossOrigin 不适用于 DELETE 方法

Spring @CrossOrigin 注释不适用于 DELETE 方法。

示例代码(在 Groovy 中):

@CrossOrigin
@RestController
@RequestMapping('/rest')
class SpringController {

    @RequestMapping(value = '/{fileName}', RequestMethod.DELETE)
    void deleteFile(@PathVariable fileName) {
        // logic
    }

}
Run Code Online (Sandbox Code Playgroud)

对于这段代码,我得到了异常:

XMLHttpRequest 无法加载http://localhost:8080/rest/filename.txt。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问Origin ' http://localhost:4200 '。响应具有 HTTP 状态代码 404。

笔记:

  • 我在 Chrome 58 和 Postman 4.10.7 中测试过
  • 根据https://spring.io/guides/gs/rest-service-cors/默认情况下,@CrossOrigin 只允许 GET、HEAD 和 POST 跨域请求。虽然指定@CrossOrigin(methods = [RequestMethod.GET, RequestMethod.DELETE])没有帮助
  • 为简洁起见,我省略了一些代码。实际控制器也有相同映射的 GET 请求,delete 方法有返回类型并产生 JSON 响应,以及我认为不会影响问题的其他小东西。

spring spring-mvc cors http-delete

7
推荐指数
1
解决办法
2734
查看次数

是否可以在 Angular 中将动态样式应用为字符串?

我有一个<span>想要应用动态风格的对象。

样式存储在类似 css 的string变量中,可以是任意的,例如

myStyle = 'color: white; font-weight: bold;'

或者

myStyle = 'background-color: red;'

我希望它能像这样工作

<span style="{{myStyle}}">

但事实并非如此。

我尝试了不同的选择,但由于不同的原因,似乎没有一个对我有用:

  • 我无法将样式放入 .css 文件中并使用类名,因为样式以上述字符串的形式来自服务器
  • 使用[style.color]etc. 不适合我,因为我不知道样式可以是什么
  • 使用[ngStyle]不适合我,因为它需要类似的对象{'color': 'red', 'font-weight': 'bold'},而我只有字符串

我将样式存储在字符串中的原因是因为我需要将其应用到服务器上生成的 HTML 中,我只需将该字符串传递给速度模板中的占位符变量即可。

我几乎确信它不能按照我想要的方式完成,但可能我忽略了一些解决方案。

css styles angular

3
推荐指数
1
解决办法
4394
查看次数

标签 统计

angular ×1

cors ×1

css ×1

http-delete ×1

spring ×1

spring-mvc ×1

styles ×1