@GetMapping("/search/{name}") public ResultUtil queryBook(@PathVariable String name){ List<Book> bookList = bookService.queryBook(name); Integer code = bookList !=null ? Code.GET_OK : Code.GET_ERROR; String message = bookList !=null ? "":"图书信息查询失败"; return new ResultUtil(code,bookList,message); }
时间: 2024-04-19 22:24:46 浏览: 95
这段代码是一个Spring Boot控制器中的方法,用于处理GET请求,根据图书名称搜索图书信息。它使用@GetMapping注解指定了请求的URL路径,路径中的{name}表示动态的参数。当请求到达该路径时,Spring Boot会将请求中的参数{name}传递给该方法。
在方法中,调用了bookService的queryBook方法来查询图书信息,并将查询结果赋值给bookList变量。根据查询结果是否为空,决定了返回结果的状态码和消息。当查询成功时,状态码为Code.GET_OK,消息为空字符串;当查询失败时,状态码为Code.GET_ERROR,消息为"图书信息查询失败"。
最后,将状态码、查询结果和消息封装成ResultUtil对象返回。ResultUtil是一个自定义的工具类,用于统一返回结果的格式。
相关问题
@GetMapping("/search") public List<Music> Search(@RequestParam String search){ System.out.println(search); List<Music> list = musicService.Search(search); return list; }
这是一个使用Spring Boot框架的Java后端代码,其中的@GetMapping("/search")表示这是一个处理HTTP GET请求,路径为"/search"的方法。@RequestParam String search表示从HTTP请求中获取名为"search"的参数,并将其作为String类型的变量传递给方法。代码中打印出了获取到的"search"参数,然后调用musicService的Search方法,该方法会根据搜索关键字查询数据库中的音乐信息,并返回一个包含音乐信息的列表。最后,返回这个列表,将其转换成JSON格式并返回给HTTP请求的发起方。
axios({ method: 'get', url: '/BookShopSystem_war/getQueryBook/' + bookName@GetMapping("/getQueryBook/{bookName}") @ResponseBody public Map<String, Object> getQueryBook(@PathVariable("bookName") String bookName) { List<Book> queryBookList = bookService.getQueryBook(bookName); HashMap<String, Object> result = new HashMap<>(); result.put("code", 0); result.put("msg", "success"); result.put("data", queryBookList); return result; }<select id="getQueryBook" parameterType="String" resultMap="bookResult"> select * from book where book_name like CONCAT('%',#{bookName},'%') </select>传递的参数会乱码
这段代码使用了Spring Boot框架和MyBatis进行Web开发,前端使用了Axios库发送了一个GET请求,请求的url中包含了查询的书名参数。后端使用了Spring Boot的注解`@GetMapping`和`@PathVariable`来获取参数值,并将参数值传递给MyBatis的mapper进行数据库查询。
如果参数出现了乱码,可以尝试以下解决方法:
1. 确认前后端字符集是否一致,如果不一致则需要对字符集进行统一。
2. 在前端将查询字符串进行编码,使用encodeURIComponent()函数进行编码。后端在接收到查询字符串后,使用decodeURIComponent()函数进行解码。
3. 在Spring Boot的配置文件中指定字符集,例如:
```
spring.datasource.url=jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf8
```
这样可以确保Spring Boot和数据库之间使用一致的字符集进行数据传输。
4. 在mapper中使用Java内置的URLEncoder类对参数进行编码,例如:
```
select * from book where book_name like CONCAT('%',#{bookName, jdbcType=VARCHAR},'%')
```
在Java代码中,将参数进行编码:
```
String encodedParam = URLEncoder.encode(bookName, "UTF-8");
```
然后将编码后的参数传递给mapper。
以上任何一种方法都可以解决参数乱码的问题。
阅读全文