2015-09-18 2 views
1

Я пытаюсь код Reverse routing образцаигры 2.4.3 redicrect Скала не работают

Вот мои маршруты

GET  /hello/:name  controllers.Application.hello(name) 
GET  /bob    controllers.Application.helloBob 

и моих коды

def helloBob = Action { 
    Redirect(routes.Application.hello("Bob")) 
    } 

def hello(name: String) = Action { 
    Ok("Hello " + name + "!") 
    } 

я могу получить привет ответа

$ curl -v localhost:9001/hello/play 
Hello play! 

Но, не может получить ответ «Боб» после перенаправления?

$ curl -v localhost:9001/bob 
* Trying ::1... 
* Connected to localhost (::1) port 9001 (#0) 
> GET /bob HTTP/1.1 
> Host: localhost:9001 
> User-Agent: curl/7.43.0 
> Accept: */* 
> 
< HTTP/1.1 303 See Other 
< Location: /hello/Bob 
< Date: Fri, 18 Sep 2015 03:19:04 GMT 
< Content-Length: 0 
< 
* Connection #0 to host localhost left intact 

ответ

2

Компонент пути URI чувствителен к регистру. Проверь это.

попробовать

curl -v localhost:9001/hello/Bob 

Update

Вы код правильно (проверено на моем проекте), и вы показать правильный журнал - он печатает 303 код. Я думаю, вам просто нужно сказать curl, чтобы следовать переадресации, как это

curl -L localhost:9000/bob 
+0

Я показал свой код, и это не касается чувствительности к регистру. – keepscoding

+0

Ну, вы меняете его много. Причина в том, что я думаю, что это строка «Play print» «HTTP/1.1 303 See Other

+0

Определенно это ошибка опечатки на обновленном сообщении. но он был скомпилирован и запущен. фундаментальный все еще там. Именование - это diff. Почему ты не голосуешь? ok..ok..чтобы свести к минимуму путаницу, я изменил ее на bob. ты не делаешь. curl -v localhost: 9001/hello/Bob, конечно, работающий, и я тоже его показал. – keepscoding

Смежные вопросы