我从Spring Boot开始,并尝试提供Rest服务。 我正在编写一个控制器,其中有到3种方法的RequestMappings。 当thirl注释在编写代码时出现此错误时,其中两个可以正常工作。
此行有多个标记 -语法错误,插入“枚举标识符”以完成EnumHeader -语法错误,请插入“ EnumBody”以完成EnumDeclaration
我尝试了其他所有答案,但似乎无法找出问题所在。这是我的Controller代码-
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")
}
错误出现在最后一行,即最后一个Requestmapping()。
答案 0 :(得分:0)
有点晚了,但是对于那些刚刚发现此问题的人:您需要在@RequestMapping下键入实际的方法。当您在此阶段停止时,Eclipse会出现问题,但是一旦编写了方法,您就可以使用了。至少那对我有用。
所以:
@RequestMapping(method=RequestMethod.POST,value="/topics")
public ... {
//your method
}
答案 1 :(得分:-1)
您正在为两种方法编写/ topics URL,一种用于GET,一种用于POST,Spring不支持此配置。您可以更改两种不同方法的url,也可以编写一个具有url / topics和array的单个方法HttpMethod之类的方法= {RequestMethod.GET,RequestMethod.POST}