2017-12-17 34 views
1

Slim Framework v3을 사용하여 REST 응용 프로그램을 보유하고 있습니다. 모든 것은 예상대로 작동하지만 응답 헤더를 설정할 수 없습니다. 예를 들어Slim Framework 3 401 응답에서 WWW-Authenticate 헤더를 설정할 수 없음

: 등, 올바른 HTTP 상태 코드를 받고, 데이터를 가져 오는 측면에서 예상대로

예를 들어

$app->any('/[{path:.*}]', function(Request $request, Response $response, $args = null) use ($objError, $objDBCon, $objUtil) { 
... 
return $response->withAddedHeader('WWW-Authenticate', 'API-key realm="restricted"') 
       ->withJson($apiResults, $httpcode); 
}); 

은 내가 올바른 응답 JSON

{ "message": "You must be logged in to access this resource" } 
얻을 작품

으로 예상 상태 코드가 표시됩니다.

및 모든 표준, 올바른 헤더, 콘텐츠 유형 등

그러나 추가 헤더를 설정할 수 없습니다.

참조 https://www.slimframework.com/docs/objects/response.html

+0

'withJson() -> withAddedHeader()'와 같이'withJson'을 호출 한 후에 헤더를 추가하여 차이가 있는지 확인하십시오. – Nima

답변

1

documentaiton 내 평판은 코멘트 추가 낮은 것입니다 : 수동

withAddedHeader 방법에 따르면

이미 존재 값 집합에 새 값을 추가합니다 동일한 헤더 이름

헤더가 이미 appe 전에 존재합니까? 네딩? 이 도움이

return $response = $next($request, $response) 
      ->withHeader('Access-Control-Allow-Origin', $this->allowedhosts) 
      ->withHeader('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Accept, Origin, Authorization') 
      ->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS') 
      ->withStatus(200); 

희망 :

나는 일반적으로, 각 응답이 뭔가를 새로운 헤더를 만들 수 있습니다.