为什么浏览器访问该方法的时候,控制台并没有输出语句 @PostMapping("/save") @ResponseBody //@ResponseBody 将数据 按照指定格式返回 如json //@RequestBody 把json类型的数据 封装到 Furn对象中 public Msg save(@RequestBody Furn furn){ System.out.println("接收到的数据 = " + furn); furnService.save(furn); //返回成功信息 Msg success = Msg.success(); return success; }
时间: 2023-06-10 17:07:18 浏览: 102
可能是因为浏览器访问该方法时,没有发送符合要求的请求体,导致控制台中的输出语句没有执行。你可以在浏览器中使用开发者工具查看请求是否携带了正确的请求体。
另外,需要注意的是,如果请求携带的请求体格式不符合 @RequestBody 注解所指定的类型,也会导致控制台中的输出语句没有执行。在这种情况下,可以使用 try-catch 块捕获异常并输出错误信息,以便排查问题。
相关问题
将下面的java代码转python @Controller public class IndexControlle { SimpleDateFormat df = new SimpleDateFormat( pattern: "yyy-MM-dd HH:mm:ss"); private final static Logger logger = LoggerFacstory.getLogger(IndexControlle.class) @RequestMapping("/index") @ResponseBody public String index() { logger.info("hello world» » » "); return "hello world》》》"; //关键数据订阅返回响应 @PostMapping(value = "/jsoni", produces = "application/json; charset=UTF-8") @ResponseBody public void json1(@RequestBody String content) throwsUnsupportedEncodingException { logger.info("json1关键数据订阅返回响应》》》"+content); @PostMapping(value = "/json2", produces = "applicatioon/json; charset=utf-8") @ResponseBody public void hello3(@RequestBody String content) { logger.info("json2响应数据》》"+content); } @PostMapping("/map10") @ResponseBody public void hello6(@RequestBody Map<String, Oboject> params){logger.info("map10响应数据》》》"+params); } //最早版本用map接收的 @PostMapping("/map1") @ResponseBody public void hello(@RequestParam Map<String, Object> params) {logger.info("map1响应数据》》"+params); @PostMapping("/map2") @ResponseBody public void hello2(@RequestParam Map<String, Object> pparams){logger.info("map2响应数据》》"+params); }
下面是将Java代码转换成Python的结果:
```python
from datetime import datetime
import logging
from flask import Flask, request, jsonify
app = Flask(__name__)
df = "%Y-%m-%d %H:%M:%S"
logger = logging.getLogger(__name__)
@app.route('/index')
def index():
logger.info("hello world")
return "hello world"
@app.route('/json1', methods=['POST'])
def json1():
content = request.get_json()
logger.info("json1关键数据订阅返回响应》》》" + str(content))
return jsonify(success=True)
@app.route('/json2', methods=['POST'])
def json2():
content = request.get_json()
logger.info("json2响应数据》》》" + str(content))
return jsonify(success=True)
@app.route('/map10', methods=['POST'])
def map10():
params = request.get_json()
logger.info("map10响应数据》》》" + str(params))
return jsonify(success=True)
@app.route('/map1', methods=['POST'])
def map1():
params = request.form.to_dict()
logger.info("map1响应数据》》》" + str(params))
return jsonify(success=True)
@app.route('/map2', methods=['POST'])
def map2():
params = request.form.to_dict()
logger.info("map2响应数据》》》" + str(params))
return jsonify(success=True)
if __name__ == '__main__':
app.run()
```
需要注意的是,Python中的时间格式化和Java有所不同,需要根据具体需求进行转换。此外,Python中的日志模块也有所不同,需要根据具体需求进行调整。此外,Python中使用`request.get_json()`来获取POST请求中的JSON数据,使用`request.form.to_dict()`来获取POST请求中的表单数据。
@PostMapping @ResponseBody和@getmapping
@PostMapping和@GetMapping是Spring框架中用于处理HTTP请求的注解。
@PostMapping注解用于将HTTP POST请求映射到特定的处理方法上。它告诉Spring将请求的数据作为请求体传递给方法,并且期望方法返回一个响应体。通常用于提交表单数据、创建资源等操作。
@GetMapping注解用于将HTTP GET请求映射到特定的处理方法上。它告诉Spring将请求的数据作为查询参数传递给方法,并且期望方法返回一个响应体。通常用于获取资源、查询数据等操作。
@ResponseBody注解用于将方法的返回值直接作为响应体返回,而不是将其解析为视图。在RESTful API开发中常用于返回JSON或XML格式的数据。
总结:
- @PostMapping用于处理HTTP POST请求,将请求数据作为请求体传递给方法,并返回响应体。
- @GetMapping用于处理HTTP GET请求,请求数据作为查询参数传递给方法,并返回响应体。
- @ResponseBody用于将方法的返回值直接作为响应体返回,常用于返回JSON或XML格式的数据。
阅读全文
相关推荐
















