2014-06-19 3 views
0

나는 [RKObjectManager sharedManager] postObject 방법을 사용하여 POST에 다음 JSON을 시도하고있다 :RestKit - POST 요청에 잘못된 본문 내용

{ 
    "SerialNumber":"123XYZ" 
} 

을하지만 내 웹 서비스는 수신 :

"docs\/:docId\/serials"path
{ 
    "docs\/:docId\/serials":{"SerialNumber":"123XYZ"} 
} 

인 경우 매개 변수 나는 웹 서비스 메서드에 필요한 경로를 지정하여 [RKObjectManager sharedManager] postObject 메서드에 전달합니다.

게시자 본문 내용에이 여분의 경로 데이터가 포함 된 이유를 아는 사람이 있습니까?

내 NSObject 기반 클래스의 매핑이 정상적으로 작동하는 것 같습니다. 정확한 일련 번호가 JSON으로 전달됩니다. 다음 코드를 사용하여 요청시 JSON 형식의 MIME을 사용하도록 RKObjectManager를 설정 했으므로 아무 일도하지 않을 것입니다.

objectManager.requestSerializationMIMEType = RKMIMETypeJSON; 

모든 단서는 높이 평가 될 것이며, 필요한 경우 더 많은 코드를 기꺼이 게시 해 드리겠습니다.

미리 감사드립니다.

답변

1

아, 당연히이 게시물을 게시 한 지 5 분 후,이 문제의 비교적 명백한 원인을 찾아 냈습니다. 이 작업에 대한 내 RKRequestDescriptor

을 설정할 때, 나는 내가 postObject 방법을 호출 할 때 RestKit이 기술자를 찾기 위해, 중요한 역할이 필요하다고 생각하고는 rootKeyPath 매개 변수에 내 웹 서비스 메서드의 경로를 전달했다 후에.

그러나 웹 서비스 경로를 rootKeyPath 매개 변수에서 제거하면 POST 본문에서도 사라졌습니다.

RKRequestDescriptor *addSerialRequestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:addSerialRequestMapping objectClass:[Serial class] rootKeyPath:nil method:RKRequestMethodPOST]; 

는 내가 (내가 RestKit을 이해) 웹 서비스 메서드에 대한 경로를 가질 필요가 않는 RKResponseDescriptor responseDescriptorWithMapping: 방법에 pathPattern 매개 변수와 혼합의 RKRequestDescriptor requestDescriptorWithMapping: 방법에 rootKeyPath 매개 변수를 얻고 있었다 지금 실현 그것을 전달했다.

이 정보는 다른 누군가에게 도움이되기를 바랍니다. 다른 사람의 시간을 낭비하는 것에 사과하십시오.

관련 문제