日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

本文介紹了Java Spring MVC使用攔截器轉(zhuǎn)發(fā)/重定向POST請求的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一個Spring MVC應用程序,允許用戶通過以下調(diào)用添加/刪除收藏夾:

POST /api/users/123/favorites/456(將項目456添加為用戶123的收藏)
DELETE /api/users/123/favorites/456(將項目456作為用戶123的收藏刪除)

我還想支持以下兩個執(zhí)行完全相同操作的呼叫(假設用戶123已登錄):

POST /api/users/me/favorites/456
DELETE /api/users/me/favorites/456

我已經(jīng)創(chuàng)建了一個攔截器,如下所示:

public class UserMeInterceptor extends HandlerInterceptorAdapter{
    public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler ) throws Exception{
        Integer userId = AccessControlUtil.getUserId();
        String redirectUrl = request.getContextPath() + request.getRequestURI().replace( "/me/", "/" + userId + "/" );
        if( redirectUrl.endsWith( "/me" ) ){
            redirectUrl = redirectUrl.replace( "/me", "/" + userId );
        }
        response.sendRedirect( redirectUrl );
        response.flushBuffer();
        return false;
    }
}

此方法非常有效,但僅適用于GET請求。有什么方法可以轉(zhuǎn)發(fā)/重定向POST請求并維護所有已發(fā)布的數(shù)據(jù)和方法類型?理想情況下,我希望重用已定義的相同控制器來處理傳入ID時的情況。

推薦答案

此方法如何:

@RequestMapping("/api/users/{userId}/favorites/{favoriteId}")
public String clientsByGym(@PathVariable("userId") String userId, @PathVariable("favoriteId") Long favoriteId) {
    Integer theUserId = null;
    if("me".equals(userId)) {
        theUserId = AccessControlUtil.getUserId()
    } else {
        theUserId = Integer.valueOf(userId);
    }
    ...
}

基本上,讓您的方法接受UserID的字符串,從那里您可以確定它是‘me’還是一個實際的UserID值。通過這種方式,您不必處理重定向。如果您必須一直這樣做,您可以創(chuàng)建一個幫助器方法,如下所示:

public Integer getUserId(String userId) { 
    return "me".equals(userId) ? AccessControlUtil.getUserId() : Integer.valueOf(userId);
}

這篇關(guān)于Java Spring MVC使用攔截器轉(zhuǎn)發(fā)/重定向POST請求的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,

分享到:
標簽:Java POST Spring 攔截器 請求 轉(zhuǎn)發(fā) 重定向
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定