0

問題:

次のSpringRESTの例を参照してください。などのリクエストhttp://localhost:8080/site/google.comが送信された場合、Springは「<strong>google」を返します。春は「。」を扱うように見えます。ファイル拡張子として、パラメータ値の半分を抽出します。

Springは「<strong>google.com」を返す必要があります。どうすればいいですか?

SiteController.java

package com.example.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/site")
public class SiteController {

@RequestMapping(value = "/{domain}", method = RequestMethod.GET)
public String printWelcome(@PathVariable("domain") String domain,
    ModelMap model) {

    model.addAttribute("domain", domain);
    return "domain";

}

}
4

3 に答える 3

1

@ResourceMapping のパス変数で正規表現を使用できると思います。たとえば、次のことができます

{domain:.[\\S]*}

おそらく正規表現をいじる必要があるでしょう。「:」は、パス変数名と正規表現を区切ります。

于 2013-02-06T17:47:48.503 に答える
0

「/」のURLの終わりとSiteController.javaの変更点を確認してください..

change http://xxx/site/google.com to http://xxx/site/google.com/

于 2014-07-31T12:46:32.940 に答える