今天遇到的问题,ResponseBody返回值不是String,而是一个页面,求解啊!!!!!...

 

@RequestMapping(value = "/login.html", method = RequestMethod.POST)
@ResponseBody

public String login(String password, String email, HttpSession session,

HttpServletRequest request) throws Exception
{
User user = userService.getUser(email);
if (user == null)
{
return "wrong_email";
}

}

这段代码返回值,按道理当user==null的时候返回的post结果是个String值,wrong_email,

但是,我console的结果却是登录页面,

我很不解,不知道不是说ResponseBody用的不当还是什么问题

转载于:https://www.cnblogs.com/dayu007/p/7613151.html

`ResponseEntity.ok()` 是Spring框架中的一个方法,它通常用于创建HTTP响应的状态码为200 OK的情况。默认情况下,如果你直接传入一个字符串作为参数给 `ResponseEntity.ok()`,比如 `ResponseEntity.ok("Hello")`,那么这个字符串会被当作响应体返回,而不是JSON。 如果你想返回JSON数据,你需要做两件事: 1. 首先,将字符串转换为`Map`、`List`或其他可以序列化的Java对象,例如`JsonObject`或`@ResponseBody`注解的POJO(Plain Old Java Object)。 2. 然后,将这个对象转换成JSON格式,可以用`org.springframework.http.converter.json.MappingJackson2HttpMessageConverter`或者其他支持JSON序列化的转换器配合`@RestController`的`produces = MediaType.APPLICATION_JSON_VALUE`属性来实现。 示例代码: ```java import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.http.ResponseEntity; import com.fasterxml.jackson.databind.ObjectMapper; @RestController public class ExampleController { @GetMapping("/json") public ResponseEntity<String> jsonData() { String jsonString = "{\"name\":\"John\", \"age\":30}"; ObjectMapper mapper = new ObjectMapper(); try { MyJsonObject data = mapper.readValue(jsonString, MyJsonObject.class); return ResponseEntity.ok(data); } catch (Exception e) { return ResponseEntity.badRequest().body(e.getMessage()); } } // 示例中的MyJsonObject需要自定义 private static class MyJsonObject { String name; int age; // ...其他字段... } } ``` 在这个例子中,`ResponseEntity.ok(data)`会将`MyJsonObject`对象转换为JSON返回
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值