中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用swagger傳遞map類型的參數報錯406

發布時間:2020-09-02 15:10:32 來源:網絡 閱讀:3986 作者:Adam的blog 欄目:開發技術

1、前言

最近在實現一個分頁查詢所有的用戶及其角色的功能時,遇到了406的問題,費了好長時間才解決,記錄一下解決方法。

2、排錯過程

前后端分離的項目,寫接口的時候我用到了swagger框架。先說下406是什么意思?

406:請求的資源的內容特性無法滿足請求頭中的條件,因而無法生成響應實體。實體格式由Content-Type頭定義的媒體類型決定

解釋一下:返回的消息頭瀏覽器無法解釋,下面是兩種不同的消息頭:

使用swagger傳遞map類型的參數報錯406

使用swagger傳遞map類型的參數報錯406

3、解決方法

  • 導入下面三個jar包
    ?
    <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.5</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.7</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.7</version>
        </dependency>
  • 使用@ResponseBody注解
/**
     * 查詢所有用戶
     * 
     * @param pn
     * @return
     */
    @SuppressWarnings("unchecked")
    @RequestMapping(value = "/userRoleList", method = RequestMethod.GET)
    @RequiresRoles(value = "超級管理員")
    @ResponseBody
    @ApiOperation(value = "查詢所有用戶", notes = "查詢所有用戶", httpMethod = "GET")
    public Msg UserRoleList(@RequestParam(value = "pn", defaultValue = "1") String pn,
            @RequestParam(value = "ps", defaultValue = "5") String ps) {
        // 1. 分頁查詢所有的用戶
        PageHelper.startPage(Integer.parseInt(pn), Integer.parseInt(ps)); // 傳入頁碼,每頁大小
        List<Admin> admins = adminService.findAll();
        // 2. 根據用戶名查詢每個用戶各自的角色
        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
        for (Admin admin : admins) {
            List<Role> roles = adminService.findRoles(admin.getAdminName());
            //添加用戶
            LinkedHashMap<String, Object> admin_roles = new LinkedHashMap<String,Object>();
            admin_roles.put("id", admin.getId());
            admin_roles.put("adminName", admin.getAdminName());
            admin_roles.put("name", admin.getName());
            admin_roles.put("createTime", admin.getCreateTime());
            admin_roles.put("lastLoginTime", admin.getLastLoginTime());
            admin_roles.put("locked", admin.getLocked()>0?true:false);
            //添加角色
            List<String> roleName = new ArrayList<String>();
            for (Role role : roles) {
                roleName.add(role.getName());
            }
            admin_roles.put("roles", roleName);
            //將用戶及其角色存放的list中
            list.add(admin_roles);
        }
        // 3. 分頁信息
        PageInfo page = new PageInfo(admins);
        return Msg.success().add("list", list).add("total", page.getTotal());
    }
  • 更改swagger版本為2.8
    <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

淮阳县| 辽阳县| 馆陶县| 大足县| 依兰县| 呼和浩特市| 毕节市| 壤塘县| 崇明县| 库车县| 呈贡县| 晋城| 彭州市| 巴彦淖尔市| 罗源县| 中卫市| 朝阳区| 仁怀市| 西乌珠穆沁旗| 抚顺县| 资中县| 大名县| 法库县| 金坛市| 鄂托克旗| 巴林右旗| 乌鲁木齐县| 安图县| 桃园市| 凤冈县| 五华县| 汶上县| 长丰县| 综艺| 涿州市| 神农架林区| 即墨市| 西华县| 塔城市| 濮阳县| 千阳县|