다음을 포함하여 많은 링크를 참조했습니다.
Drupal 사이트에 새 노드를 POST하는 몇 가지 방법을 시도했지만 실패했습니다. 학생들의 이름, 나이, 성별, DOB를 저장하기위한 샘플 CCK를 만들고 일부 목록을 추가했습니다.
서비스 모듈 (D7)을 설치 및 구성하고 서비스에서 서비스 엔드 포인트를 작성했습니다.
예상대로 GET은 JSON에서 노드의 세부 정보를 얻는 가장 쉬운 방법입니다. http://localhost/drupal/services/node
단순히 모든 노드를 나열했습니다.
POST 방법 을 사용하는 방법을 여전히 알 수 없습니다 .
-
이름이 john 인 학생을 검색하고 싶습니다 . 나는 노력했다
localhost/drupal/services/node&node[name]=john
. 내가 사용 POST 남자가 성공하지 크롬에 대한 플러그인. 나는 또한 다른 방법을 시도했다. -
나는 새 학생을 사이트에 성공적으로 추가하려고 시도했습니다.
아무도 위의 작업을 잘 수행하도록 안내 할 수 있습니까?
업데이트 :
article 유형의 새 노드를 추가하려고했습니다 . 잘 작동했습니다. 그러나 Department CCK 유형의 노드를 추가하려고 할 때 ” s : 22 :”CSRF 유효성 검사에 실패했습니다 “; “스크린 샷이 있습니다.
나는 https://drupal.org/node/2013781 링크를 갔다.
session = session_name = session_id를 따랐지만 여전히 오류가 발생합니다.
답변
이것이 도움이되기를 바랍니다.
드루팔 7
사용되는 도구 :
- 테스트 및 디버깅을위한 Firefox 포스터 애드온 다른 애드온도있을 수 있습니다. 그러나이 예제에서는 Firefox 추가 기능을 사용하고 있습니다.
- 사용할 수있는 JSON 데이터를 편집하고 확인하는 데 도움을주기 위해
HTTP 요청
-
HTTP 요청을하려면 Firefox 애드온 POSTER를 사용해야합니다 .
-
클라이언트와 서버 간의 요청-응답에 일반적으로 사용되는 두 가지 방법은 다음과 같습니다.
- 가져 오기
- 우편
-
애드온이 다운로드 된 후 Firefox 열기 -> 도구-> 포스터
-
세션 인증 을 활성화해야 합니다 . 서비스 가 올바르게 구성된 후 노드를 작성하기 전에 로그인 해야합니다 . 로그인하면 노드를 만들 수 있습니다.
-
로그인의 경우 http://XXXXXXXX.com/demo/rulebook/rulebook_endpoint/user/login 과 같은 URL을 사용하여 POST 메소드를 사용하십시오.
-
유효한 사용자 인 경우 세션 ID 및 이름과 함께 사용자 세부 사항 을 리턴 합니다 . 유효하지 않은 경우 액세스 거부 를 리턴합니다.
-
POST HEADER에서 세션 이름과 ID를 사용하여 새 노드를 만들 수 있습니다
-
이제 HEADER를 추가 한 후 HTTP POST 요청을 작성하고 사용자에게 노드 작성 권한이 있는지 확인해야합니다.
-
노드가 생성되면 노드 링크로 응답을 얻습니다.
참고 : JSON에서 응답을 원하면 항상 URL 끝에 .json을 추가해야합니다. 예 : http://XXXXXXXX.com/test/endpoint/user.json 또는 http://XXXXXXXX.com/test/endpoint/node.json 또는 http://XXXXXXXX.com/test/endpoint/user/user_id .json 또는 http://XXXXXXXX.com/test/endpoint/node/node_id.json
답변
Drupal 7 및 서비스 7.x-3.x
1 단계 :user.login
사용자 이름과 비밀번호를 사용하여 리소스에 게시 요청을 보냅니다.
로그인에 성공하면 4 가지 속성을 가진 응답 객체를 얻게됩니다 :
- session_name
- 세 시드
- 토큰
- 사용자 (개체)
Google 크롬 우편 배달부 스크린 샷
2 단계 :node
헤더 2 개로 게시 요청 발행
- 쿠키 : [session_name] = [sessid]
- X-CSRF- 토큰 : [토큰]
Google 크롬 우편 배달부 스크린 샷
답변
REST API에 POST 를 수행하는 경우 URL이 아닌 POST 데이터 에 모든 것을 넣어야 합니다. 에서 우체부 당신은 형보다, 게시물에 대한 요청을 설정할 수 있습니다 아래 당신이 당신의 데이터 값을 추가 할 수 있습니다. 상태, UID, 언어, 유형, 제목 및 추가 값 을 추가하는 것을 잊지 마십시오 . 리소스 URL은이어야합니다 .x-www-form-urlencoded
HOST/REST_API_PATH/node