Sourcey 튜토리얼로 레일 5 API를 수행했는데 이제 라우팅 오류가 발생합니다.Api 가로장 : 경로가 일치하지 않습니다.
컬 명령 curl -H "Authorization: Token token=8NjQH4YVWQdUIve4xDQBaArr" http://localhost:3000/v1/users
서버가
어떤 경로 일치를 실행하지 않습니다 '404 찾을 수 없습니다'라는 메시지와 '어떤 경로 일치'내 관점에서 제기되는 디스플레이 [GET] "/ V1/사용자"
그래서 나는 rails routes
을 확인했습니다. 출력은 다음과 같습니다 ID
어떻게이 문제를 해결하기 :
v1_users GET /v1/users(.:format) api/v1/users#index {:subdomain=>"api"}
POST /v1/users(.:format) api/v1/users#create {:subdomain=>"api"}
v1_user GET /v1/users/:id(.:format) api/v1/users#show {:subdomain=>"api"}
PATCH /v1/users/:id(.:format) api/v1/users#update {:subdomain=>"api"}
PUT /v1/users/:id(.:format) api/v1/users#update {:subdomain=>"api"}
DELETE /v1/users/:id(.:format) api/v1/users#destroy {:subdomain=>"api"}
우리는 우리가 GET/V1/사용자 및 /이주의?
routes.rb :
Rails.application.routes.draw do
constraints subdomain: 'api' do
scope module: 'api' do
namespace :v1 do
resources :users
end
end
end
end
Users_controller.rb 및 api_controller.rb은 /애플리케이션/제어기/API/V1/ 내부. 당신이 코드의 다른 부분을해야 할 경우
(컨트롤러, 모델 ....)
감사합니다 많이! 나는 'scope 모듈을 보자 :'api 'do'와 url http://api.example.com/v1/users와 함께 컬을 사용하기 위해 '네임 스페이스'api 'do'를 추가하지 않았다. – Tellimi
네가 원한다면 대신 'http : // example.com/api/v1/users'를 입력하십시오. 하위 도메인이있는 레일 서버에 액세스 할 수 있도록 터널을 설정하면 경로를 변경할 필요가 없습니다. – max