AWS Amplify : 변수 입력에 입력 객체 유형에 대해 정의되지 않은 필드 이름이 있습니다.

레오나르도 카바 니

나는 여기서 무슨 일이 일어나는지 이해하지 못한다.

이것은 내 스키마입니다.

type MonthResume @model @auth(rules: [{allow: owner, identityClaim: "sub"}]){
   id: ID!
   incomes: Float!
   spendingByCategory: [Category]
}

type Category @model @auth(rules: [{allow: owner, identityClaim: "sub"}]){
  id: ID!
  name: String!
  amount: Float!
}

이것은 Amplify가 제공하는 자동 생성 업데이트 돌연변이입니다.

export const updateMonthResume = /* GraphQL */ `
  mutation UpdateMonthResume(
  $input: UpdateMonthResumeInput!
  $condition: ModelMonthResumeConditionInput
 ) {
 updateMonthResume(input: $input, condition: $condition) {
  id
  incomes
  spendingByCategory {
    id
    name
    amount
    createdAt
    updatedAt
    owner
  }
  createdAt
  updatedAt
  owner
}
}
`;

그리고 이것은 내 의견입니다.

{
  "input": {
    "id": "d7f-ee2971fd3ae5",
    "incomes": 220,
    "spendingByCategory": null,
    "createdAt": "2020-08-15T17:06:22.192Z",
    "updatedAt": "2020-08-15T17:06:22.192Z",
    "owner": "subId"
  }
}

나는 소득 금액을 업데이트하고 싶습니다. 그러한 이유 때문에 이런 식으로 API를 호출합니다.

const input = {
  incomes: 0,
}

await API.graphql(graphqlOperation(updateMonthResume, input));

그리고 오류가 발생했습니다.

이해가 안 돼요, 수입보다 더 많이 업데이트하고 싶지 않습니다. 입력 내용을 변경해야합니까? 하지만 objetc spendByCategory에 대해 null (Amplify가 자동으로 수행함)을 보냈습니다.

input CreateMonthResumeInput {
   id: ID
   incomes: Float!

}

xadm

의견의 토론 요약 / 지식 축적 :

입력 개체는 UpdateMonthResumeInput유형에 정의 된 속성 만 가질 수 있습니다 .

  • 더 이상은 없어
  • 더 적을 수 있음 (null 허용 / 필요하지 않은 경우)
  • ...하지만 모두 필요

일반적으로 다음과 같은 차이점이 있습니다.

  • 입력 유형 (변이에 입력 / 매개 변수로 사용됨)
  • ... 및 반환 유형 (쿼리 및 변형에 대한 결과 유형)

... 및 관련 질문 / 답변 :

이 입력에 속성이 표시되지 않는 이유는 무엇 spendingByCategory입니까?

그것은 the MonthResume body(자신의 유형 필드 / 속성)이 아니기 때문에 -관계에서 온 것입니다 ... 사용자를 만든 다음 사용자를 추가하는 것과 같이-친구와 함께 사용자를 한 번에 만들 수 없음-중첩 된 변형이 지원되지 않습니다.

관계없이 객체 배열을 추가하려면 무엇을 지정해야합니까? spendingByCategory: [Category!]Object 유형을 찾지 못했기 때문에 설정했습니다.

모든 [query / mutation] 깊이 수준 은 graphql에서 정의되고 분리 된 유형 (및 유형 간의 관계) 이어야 합니다. 복잡한 필드 / 속성에 대한 유형을 정의하지 않고 ' customJSON 유형 '(직렬화 가능하거나 알 수없는 유형 콘텐츠)을 사용할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

TextWatcher의 onTextChanged 메소드에있는 count 매개 변수가 입력 유형이 textWebPassword 인 EditText에 대해 제대로 작동하지 않습니다.

분류에서Dev

입력이 키가 해당 값과 구별되는 객체 인 구별 된 공용체에 대한 유형 안전 함수를 작성할 수 있습니다.

분류에서Dev

'double'유형의 입력 인수에 대해 정의되지 않은 함수 또는 메소드 'findjobj'입니다. MATLAB

분류에서Dev

'cell'유형의 입력 인수에 대해 정의되지 않은 함수 'eq'

분류에서Dev

'cell'유형의 입력 인수에 대해 정의되지 않은 함수 'eq'

분류에서Dev

'double'유형의 입력 인수에 대해 정의되지 않은 함수 'fitrsvm'

분류에서Dev

스크립트 함수에서 입력 필드까지의 값에 대해 ng-model은 정의되지 않은 Angular를 제공합니다.

분류에서Dev

Selenium은 필드에 입력 할 수 있지만 특정 필드에 입력 할 수 없습니다.

분류에서Dev

PHP에서 정의되지 않은 변수 URL에 입력 이름 전달

분류에서Dev

DjangoRestFramework-View는 필수 필드에 대한 입력없이 사용자 개체를 만들 수 있습니다.

분류에서Dev

변경 함수의 객체가 Ajax 데이터에 대해 정의되지 않았습니다.

분류에서Dev

입력 필드 maxlength가 Tizen Studio의 텍스트 유형에 대해 작동하지 않습니다.

분류에서Dev

REDUX : 오류 : 작업에 정의되지 않은 "유형"속성이 없을 수 있습니다. 상수를 잘못 입력 했습니까?

분류에서Dev

'입력'은 유형 오류의 이름을 지정하지 않습니다. 이유를 알 수 없습니까?

분류에서Dev

std :: ops : Mul에 출력 유형에 대한 제한이 필요하지 않은 이유는 무엇입니까?

분류에서Dev

입력 필드에 연결할 수 없음-정의되지 않은 '값'속성을 읽을 수 없습니다.

분류에서Dev

TimerService 유형에 대해 createCalendarTimer (ScheduleExpression) 메소드가 정의되지 않은 이유는 무엇입니까?

분류에서Dev

잘못된 입력 데이터 유형 오류 : '알 수 없음'유형의 입력은 azure (azureml.train.automl)에서 지원되지 않습니다.

분류에서Dev

입력 개체 유형 'TypeName'은 하나 이상의 필드를 정의해야합니다.

분류에서Dev

이 함수에 대해 정의되지 않은 이유는 무엇입니까?

분류에서Dev

입력 필드에 설정 값이 표시되지 않습니다.

분류에서Dev

입력 필드의 이름을 "제출"이외의 이름으로 변경 한 후에도 Jquery 양식 제출이 작동하지 않습니다.

분류에서Dev

드래그 이벤트에 대한 전체 달력-> 잡히지 않은 TypeError : 정의되지 않은 'isWithinClipping'속성을 읽을 수 없습니다.

분류에서Dev

스캐너의 변수에 대한 Java 입력 값이 메서드의 변수에 적용되지 않습니다.

분류에서Dev

입력 유형 = 시간은 파이어 폭스에서 지원되지 않습니다 그것을 구현하기 위해 대체 솔루션이 필요합니다

분류에서Dev

strsplit : 입력 유형 'char'에 대한 정의되지 않은 함수

분류에서Dev

jQuery 입력 필드 .val ()이 정의되지 않았습니다.

분류에서Dev

텍스트 필드의 입력에도 불구하고 부울 값이 변경되지 않았습니다.

분류에서Dev

TextBox 입력이 변수에 할당되지 않았습니다.

Related 관련 기사

  1. 1

    TextWatcher의 onTextChanged 메소드에있는 count 매개 변수가 입력 유형이 textWebPassword 인 EditText에 대해 제대로 작동하지 않습니다.

  2. 2

    입력이 키가 해당 값과 구별되는 객체 인 구별 된 공용체에 대한 유형 안전 함수를 작성할 수 있습니다.

  3. 3

    'double'유형의 입력 인수에 대해 정의되지 않은 함수 또는 메소드 'findjobj'입니다. MATLAB

  4. 4

    'cell'유형의 입력 인수에 대해 정의되지 않은 함수 'eq'

  5. 5

    'cell'유형의 입력 인수에 대해 정의되지 않은 함수 'eq'

  6. 6

    'double'유형의 입력 인수에 대해 정의되지 않은 함수 'fitrsvm'

  7. 7

    스크립트 함수에서 입력 필드까지의 값에 대해 ng-model은 정의되지 않은 Angular를 제공합니다.

  8. 8

    Selenium은 필드에 입력 할 수 있지만 특정 필드에 입력 할 수 없습니다.

  9. 9

    PHP에서 정의되지 않은 변수 URL에 입력 이름 전달

  10. 10

    DjangoRestFramework-View는 필수 필드에 대한 입력없이 사용자 개체를 만들 수 있습니다.

  11. 11

    변경 함수의 객체가 Ajax 데이터에 대해 정의되지 않았습니다.

  12. 12

    입력 필드 maxlength가 Tizen Studio의 텍스트 유형에 대해 작동하지 않습니다.

  13. 13

    REDUX : 오류 : 작업에 정의되지 않은 "유형"속성이 없을 수 있습니다. 상수를 잘못 입력 했습니까?

  14. 14

    '입력'은 유형 오류의 이름을 지정하지 않습니다. 이유를 알 수 없습니까?

  15. 15

    std :: ops : Mul에 출력 유형에 대한 제한이 필요하지 않은 이유는 무엇입니까?

  16. 16

    입력 필드에 연결할 수 없음-정의되지 않은 '값'속성을 읽을 수 없습니다.

  17. 17

    TimerService 유형에 대해 createCalendarTimer (ScheduleExpression) 메소드가 정의되지 않은 이유는 무엇입니까?

  18. 18

    잘못된 입력 데이터 유형 오류 : '알 수 없음'유형의 입력은 azure (azureml.train.automl)에서 지원되지 않습니다.

  19. 19

    입력 개체 유형 'TypeName'은 하나 이상의 필드를 정의해야합니다.

  20. 20

    이 함수에 대해 정의되지 않은 이유는 무엇입니까?

  21. 21

    입력 필드에 설정 값이 표시되지 않습니다.

  22. 22

    입력 필드의 이름을 "제출"이외의 이름으로 변경 한 후에도 Jquery 양식 제출이 작동하지 않습니다.

  23. 23

    드래그 이벤트에 대한 전체 달력-> 잡히지 않은 TypeError : 정의되지 않은 'isWithinClipping'속성을 읽을 수 없습니다.

  24. 24

    스캐너의 변수에 대한 Java 입력 값이 메서드의 변수에 적용되지 않습니다.

  25. 25

    입력 유형 = 시간은 파이어 폭스에서 지원되지 않습니다 그것을 구현하기 위해 대체 솔루션이 필요합니다

  26. 26

    strsplit : 입력 유형 'char'에 대한 정의되지 않은 함수

  27. 27

    jQuery 입력 필드 .val ()이 정의되지 않았습니다.

  28. 28

    텍스트 필드의 입력에도 불구하고 부울 값이 변경되지 않았습니다.

  29. 29

    TextBox 입력이 변수에 할당되지 않았습니다.

뜨겁다태그

보관