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

给出错误的批注RequestMapping()

宣原
2023-03-14

我从Spring Boot开始,并尝试提供Rest服务。我正在编写一个控制器,其中有3个方法的RequestMappings。其中两个工作正常,而第三个注释在编写代码时给出了这个错误。

此行有多个标记 - 语法错误,插入“枚举标识符”以完成枚举标头 - 语法错误,插入“枚举正文”以完成枚举声明

我尝试了其他答案,但似乎找不到问题所在。这是我的控制器代码-

package io.springboot.topics;

import java.util.Arrays;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TopicsController {

    @Autowired
    private TopicSrvice topicService;

    @RequestMapping("/topics")
    public List<Topic> getAllTopics() {
        return topicService.getAllTopics();
    }
    @RequestMapping("/topics/{id}")
    public Topic getTopic(@PathVariable String id) {
        return topicService.getTopic(id);
    }

 @RequestMapping(method=RequestMethod.POST,value="/topics")

}

错误出现在最后一行,即最后一个请求映射()。

共有2个答案

陆阳曜
2023-03-14

你正在为两个方法编写 /topics URL,一个用于 GET 和一个用于 POST,Spring 不支持此配置,您可以更改两个不同方法的 url,也可以编写一个具有 url /topics 的方法,其中包含 HttpMethod 的数组,例如方法 = { RequestMethod.GET, RequestMethod.POST }

阎经武
2023-03-14

有点晚了,但对于那些刚刚发现这个问题的人来说:您需要在@请求映射下输入实际方法。在这个阶段停止时,Eclipse会出现问题,但一旦您编写了方法,就可以开始了。至少这对我有用。

因此:

@RequestMapping(method=RequestMethod.POST,value="/topics")
public ... {
//your method
}
 类似资料:
  • 问题内容: 我想从字符串中删除最后一次出现的“ \”这个特殊字符。我尝试了像这样的字符串函数 但是每次遇到错误时,我都要求加一个额外的报价。同时我发现(“ \”“)用来传递”这个特殊字符。我该如何进行? 问题答案: 您需要使用 字符串中的字符转义特殊字符(依此类推)。因此,在它们之前使用a 会使它成为 文字 ,这意味着java会将其后的内容视为常规字符。 你可以测试看看 将打印。它会打印。 所以:

  • 我对ANT和JUnit是新手。根据需求,我在Eclipse中创建了'JUnitTestCase',并根据适当的注释调用所请求的测试类。在通过“Ant Build”运行“build.xml”文件时,它抛出错误如下: 在回顾JUnitTEstCase时,我已经导入了类似(import org.junit.after;import org.junit.before和import org.junit.te

  • 在服务类中放置“”批注时,出现以下错误 描述: bean“student service”无法作为“”注入,因为它是实现:com.student.service.studentService的JDK动态代理 示例代码: 行动: 考虑注入bean作为其接口之一,或者通过在和/或上设置来强制使用基于CGLIB的代理。 进程已完成,退出代码为%1 这是什么原因造成的?

  • 问题内容: 我在我的应用程序的servlet中使用以下代码 当我运行应用程序并调用servlet时,出现以下错误 我已经在Java版本为JDK 1.6.20的Linux机器上托管了该应用程序。 是什么原因引起的问题… 是编写代码的类,是在上述类中调用方法的servlet … 问题答案: 要在服务器端应用程序中使用AWT类,我相信您需要在“无头”模式下运行。将servlet容器的启动更改为包括: (

  • 来自servlet com.google.gson的未捕获异常。JsonSyntaxException:java.lang.IllegalStateException:应为BEGIN_OBJECT,但在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(Reflective TypeAdapter Fact

  • 问题内容: 我创建了一些小的方法作为Util类,例如以下代码: 并且,进行了非常简单的运行,如下所示: 结果是一个很奇怪的日期-> 2017/07/187 搜索了类似的问题,并尝试了TimeZone,Locale,但没有帮助。有什么建议 ? 顺便说一句,这是我的环境: Windows7 x86 JDK 1.8.0.131 x86 Oxygen corrosion of x86 问题答案: 您格式化