gpt4 book ai didi

java - Spring boot中的RestController - 404错误而不是JSON对象

转载 作者:行者123 更新时间:2023-12-02 10:48:46 25 4
gpt4 key购买 nike

我有一个非常简单的休息 Controller ,仅用于测试,但它不起作用。我在客户端使用 spring boot 和 postman。

我的休息 Controller :

@RestController
@RequestMapping("system")
public class LoginController {

public static CouponSystemResponse csRes = new CouponSystemResponse();

@RequestMapping(value = "login", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public CouponSystemResponse login(@RequestParam(value = "username") String username,
@RequestParam(value = "password") String password, @RequestParam(value = "type") String type) {
csRes.setMessage("You have successfully logged in");
csRes.setStatus("OK");
return csRes;

优惠券系统响应:

@Component
public class CouponSystemResponse {

private String status = "";
private String message = "";

public CouponSystemResponse() {
}

public CouponSystemResponse(String status, String message) {
super();
this.status = status;
this.message = message;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

@Override
public String toString() {
return "CouponSystemResponse [status=" + status + ", message=" + message + "]";
}

postman 输出:

postman output

网址:http://localhost:8080/system/login?username=admin&password=1234&type=ADMIN

不知道问题出在哪里。感谢任何帮助。

更新:我添加主应用程序+结构的图片:

main app

最佳答案

您的所有组件都位于包com.orel.couponsystem的子包中,但您的@SpringBootApplication注释的CouponWebApplication类位于包中>com.orel.t.couponsystem.config,这意味着您的任何组件都不会被自动扫描。

标准解决方案:将类 CouponWebApplication 移出到基础包:

package com.orel.couponsystem;

替代解决方案:显式命名基础包:

@SpringBootApplication(scanBasePackages = "com.orel.couponsystem")

关于java - Spring boot中的RestController - 404错误而不是JSON对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52339921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com