为什么访问localhost:8080状态码为200,访问路径内的depts状态码为404,
这是controller层
@Slf4j
@RequestMapping("/depts")
@RestController
public class DeptController {
//private static Logger log = LoggerFactory.getLogger(DeptController.class);@Autowiredprivate DeptService deptService;@RequestMapping(value = "/depts",method = RequestMethod.GET) //指定请求方式为GET@GetMappingpublic Result list(){ log.info("查询全部部门数据"); //调用service查询部门数据 List<Dept> deptList = (List<Dept>) deptService.getAllDepts(); return Result.success(deptList);}@DeleteMapping("/{id}")public Result delete(@PathVariable Integer id){ log.info("根据id删除部门:{}",id); //调用service删除部门 deptService.deleteDept(Integer.valueOf(id)); return Result.success();}
这是service层
@Service
public class DeptServiceImpl implements DeptService {
@Autowiredprivate DeptMapper deptMapper;@Overridepublic List<Dept> list() { return deptMapper.list();}@Overridepublic void delete(Integer id) { deptMapper.deleteById(id);}@Overridepublic void add(Dept dept) { deptMapper.insert(dept);}@Overridepublic Result getAllDepts() { return null;}@Overridepublic Result deleteDept(Integer id) { return null;}@Overridepublic Result createDept(Dept dept) { return null;}
}
@PostMappingpublic Result add(@RequestBody Dept dept){ log.info("新增部门: {}" , dept); //调用service新增部门 deptService.createDept(dept); return Result.success();}
}
public interface DeptService {
List<Dept> list();void delete(Integer id);void add(Dept dept);Result getAllDepts();Result deleteDept(Integer id);Result createDept(Dept dept);
}
这是mapper层
@Mapper
public interface DeptMapper {
@Select("select * from dept")List<Dept> list();@Delete("delete from dept where id = #{id}")void deleteById(Integer id);@Insert("insert into dept(id,name,permission) values(#{id},#{name},#{permission})")void insert(Dept dept);
}
这是domain层
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {
private Integer id; //IDprivate String name; //部门名称private String permission;//部门权限
}
日志信息如下
2024-05-04 13:34:07.209 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.DispatcherServlet : GET "/", parameters={}
2024-05-04 13:34:07.209 DEBUG 11888 --- [nio-8080-exec-6] o.s.b.a.w.s.WelcomePageHandlerMapping : Mapped to ParameterizableViewController [view="forward:index.html"]
2024-05-04 13:34:07.209 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.v.ContentNegotiatingViewResolver : Selected '/' given [/]
2024-05-04 13:34:07.209 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.v.InternalResourceView : View name 'forward:', model {}
2024-05-04 13:34:07.209 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.v.InternalResourceView : Forwarding to [index.html]
2024-05-04 13:34:07.210 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.DispatcherServlet : "FORWARD" dispatch for GET "/index.html", parameters={}
2024-05-04 13:34:07.210 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.h.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]
2024-05-04 13:34:07.211 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.DispatcherServlet : Exiting from "FORWARD" dispatch, status 200
2024-05-04 13:34:07.211 DEBUG 11888 --- [nio-8080-exec-6] o.s.w.s.DispatcherServlet : Completed 200 OK
2024-05-04 13:34:09.865 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.DispatcherServlet : GET "/depts", parameters={}
2024-05-04 13:34:09.865 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.h.SimpleUrlHandlerMapping : Mapped to ResourceHttpRequestHandler [classpath [META-INF/resources/], classpath [resources/], classpath [static/], classpath [public/], ServletContext [/]]
2024-05-04 13:34:09.867 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.r.ResourceHttpRequestHandler : Resource not found
2024-05-04 13:34:09.867 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.DispatcherServlet : Completed 404 NOT_FOUND
2024-05-04 13:34:09.868 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.DispatcherServlet : "ERROR" dispatch for GET "/error", parameters={}
2024-05-04 13:34:09.868 DEBUG 11888 --- [nio-8080-exec-4] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
2024-05-04 13:34:09.869 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Using 'application/json', given [/] and supported [application/json, application/+json, application/json, application/+json]
2024-05-04 13:34:09.869 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.m.m.a.HttpEntityMethodProcessor : Writing [{timestamp=Sat May 04 13:34:09 GMT+08:00 2024, status=404, error=Not Found, message=No message avail (truncated)...]
2024-05-04 13:34:09.870 DEBUG 11888 --- [nio-8080-exec-4] o.s.w.s.DispatcherServlet : Exiting from "ERROR" dispatch, status 404
希望大神能帮帮我这个初学者
@RequestMapping
用在 @Controller
或者 @RestController
注解标识的类上的话,意思是接下来整个类的所有使用 @RequestMapping
的方法的请求前缀都得加上类上面标识的路径。
比如类上面是:
@RequestMapping("/depts")
方法上面也是:
@RequestMapping("/depts")
那么最后应该请求的路径就是 xxx/depts/depts
如果去掉类上面的 @RequestMapping("/depts")
那么最后应该请求的路径就是 xxx/depts
了
访问 depts/depts
就好了,想访问哪个接口需要 Controller 上 RequestMapping 地址 + 方法上RequestMapping地址
controller层和方法上的requestmapping只需要一个
如果你使用的是IDEA 建议更新到较新版本
都会有这样的提示你再看看路径是怎么样的
我正面临一个奇怪的问题。我有一个运行在端口8080上的java spring应用程序和运行在端口3000上的Angular应用程序。当请求返回状态为200并且可以在browser network选项卡中找到响应时,控制台抛出错误XMLHttpRequest无法加载'http://localhost:8080/apiname'。请求的资源上没有“access-control-allow-origin
我正在尝试进行查询-https://GRAPH.microsoft.com/v1.0/users/user.name@contoso.com/messages?$select=from,to recipients,ccRecipients,bccRecipients on GRAPH Explorer-https://developer.microsoft.com/en-us/GRAPH/grap
我有一个名为的组件,还有一个子组件名为。智利组件有一个名为的状态。我需要从AvailabiltyCalendar组件访问该状态并获取该状态值。我该怎么做呢。 可用压路机组件 DatePicker组件
RichAsyncFunction的Flink文档说明: 尚不支持RuntimeContext中与状态相关的API,因为在访问工作线程中的状态时,键可能会发生更改。 的文档在这里。
我想在状态尚未装入时访问状态的属性。 我想做4,但得到以下错误: P. S也不起作用。
我这样做是为了尝试我的UserRestController,但我在响应中什么也没有得到,还有一个200状态码。 我尝试了很多方法,但都没有找到答案。。。 这是我用来测试分类控制器的代码 当我运行单元测试时,会得到以下响应: