当前位置: 首页 > 知识库问答 >
问题:

我的简单Spring web服务出了什么问题?

傅雪松
2023-03-14

我构建了一个简单的Spring Web应用程序。我有一个带有@RequestMapping的简单@控制器,但当我运行它时,我不能访问URL:

http://localhost:8080/labutil/all

我做错了什么?

package com.mycompany.ion.labutil.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.nokia.ion.labutil.service.LabService;

@Controller
public class LabController {

    @Autowired
    private LabService labService;

    @RequestMapping(value = "/all", method = RequestMethod.GET)
    public String getAll() throws Exception {
        List<String> list = labService.getAll();

        // build fake little json formatted data
        StringBuffer sb = new StringBuffer("{");
        for (String s : list) {
            sb.append("{ "+s+" }, ");
        }
        sb.append("}");

        return sb.toString();
    }


}

共有1个答案

马宜民
2023-03-14

您必须将控制器注释为@RESTController或将@ResponseBody注释添加到方法中。这样,您就可以告诉Spring,该方法将对象作为HTTP正文响应返回。@RESTController是一个方便的注释,它同时带有@Controller和@ResponseBody注释。

下面是为什么要使用这个注释的答案。

@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public String getAll() throws Exception {
    List<String> list = labService.getAll();

    // build fake little json formatted data
    StringBuffer sb = new StringBuffer("{");
    for (String s : list) {
        sb.append("{ "+s+" }, ");
    }
    sb.append("}");

    return sb.toString();
}

另一方面,您应该返回一个对象,而不是解析的字符串Json,添加一些Jackson或Gson之类的Json库,并用相应的库视图实现配置视图。

 类似资料:
  • 我有一个可搜索的术语数组,我想使用Lucene基本上CTRL-F通过这个文档堆栈,找到并存储所有这些术语在该文档堆栈中的位置。例如: 术语:“A”、“B”、“C” null 差不多吧。我怎么能这么做?到目前为止,我只是使用一个StandardAnalyzer,如下所示: Lucene最初会生成很多文档,但后来删除了除。cfs文件以外的所有文档。我如何保留其他文件来执行我的查询?

  • 问题内容: 我有一堂课,我已经简化为: 我想对这个东西进行排序。所以我创建了一个简单的copmarator: 然后,我使用的两个参数形式。 这对于我的测试用例来说很好用,但是有时由于数组以奇怪但可重复的顺序结束而完全出错。怎么会这样? 问题答案: 整数溢出…或更确切地说是下溢。 相反,进行显式比较: 如果您确定差异不会“绕回”,则可以使用减法。例如,当所讨论的值被约束为非负数时。

  • 我在这个URL上安装了一个应用程序:。servlet支持两种传递参数的方式——作为查询字符串和作为路径信息(例如和)。它的设计目的是对位于服务器上的引用XML文件应用默认转换,生成HTML文件,并将其发送回浏览器。有点不对劲,尽管servlet在这两种情况下都会生成html,但浏览器在第一个示例中将其呈现为html,在第二个示例中呈现为XML。此外,当我比较这两种情况下的HTTP响应(包括状态码、

  • 我有以下两个脚本,它们几乎完全遵循流示例。代码的来源如下:https://github.com/apache/ignite/blob/master/examples/src/main/java/org/apache/ignite/examples/streaming/StreamTransformerExample.java 然而,尽管客户端很好地连接到服务器,但在运行流时,我在服务器端遇到了可怕

  • 当涉及到java打包的细节时,我是一个完全的新手。 我已经通过jdk-15编写了一个使用Java-15的TCP数据服务器,它在VSCODE下运行时工作得相当愉快。 生成mrs_server-1.0.exe。然后创建文件夹C:\Program files\MRS_Server,其中包括mrs_server\app文件夹中我的代码的副本,一个mrs_server\runtime文件夹,我假定它包含运行

  • 问题内容: 该问题要求计算一周中每一天发生的13分之几。这是我的代码。 我真的很沮丧,因为我的逻辑给出了错误的答案。我要做的是增加额外的天数,即31天为3天,30天为2天,等等,然后将其添加到该职位。但这给出了错误的答案。 我的逻辑怎么了。 我对于陷入这个简单的问题感到非常沮丧。非常感谢所有帮助。 谢谢! 问题答案: 知道了! 有两个错误,首先应该有9个而不是8个错误。我们遵循的一般逻辑是,我们知