java - 无法发布到黑板构建 block

标签 java spring-mvc blackboard

我有一个使用 Spring MVC 的构建 block 。

Controller 看起来像这样:

@RequestMapping(value = "/addUpdateUser",method = {RequestMethod.GET, RequestMethod.POST})  
@ResponseBody
public String getAddUpdateUser(HttpServletRequest request) {
    String xml = request.getParameter("xml");
....

当我从我的应用程序中调用它时,如下所示:

    URI url = new URI(baseUrl+"/users/addUpdateUser");
    HttpClient httpclient = HttpClients.createDefault();
    HttpPost httppost = new HttpPost(url);
    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();

它失败了......我得到一个网页,说我无权访问该页面,但是如果我将代码更改为这样的 HttpGet:

    URI url = new URI(baseUrl+"/users/addUpdateUser");
    HttpClient httpclient = HttpClients.createDefault();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response = httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();

效果很好......

为什么我无法对黑板 Buildingblock 执行 POST 操作?

最佳答案

Blackboard Learn 默认情况下会阻止外部帖子。

您需要在 @RequestMapping 上方添加 @NoXSRF 注释,这样您就可以访问它。

关于java - 无法发布到黑板构建 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28370760/

相关文章:

java - Java嵌套数组在内存中是如何实现的?

Java Swing 巨大网格

java - 如何使用 spring 管理 REST API 版本控制?

java - 实现 MVC 时,应用程序的哪一部分应该调用 DAO 中的方法?

mysql - 组合 Blackboard 9.1.13 控制台 SQL 查询

python - 是否可以使用 Blackboard WebServices 以编程方式将作业提交给 Blackboard

java - 当每个元素上发生多个操作时,使用 forEach 清理列表迭代

java - 不能在 JFrame 中绘制超过一个正方形

java - Spring MVC 测试框架为异步 Controller 测试返回不一致的结果

html - 如何使用 HTML 并排放置两个 poll everywhere 元素?