title: Is it a bad practice to use an Input Type for a graphql Query?
body: <p>I have seen that inserting an Input Type is recommended in the context of mutations but does not say anything about queries.</p>
  
  <p>For instance, in <a href="https://graphql.github.io/learn/schema/#input-types" rel="noreferrer">learn tutorial</a> just say:</p>
  
  <blockquote>
    <p>This is particularly valuable in the case of mutations, where you might want to pass in a whole object to be created</p>
  </blockquote>
  
  <p>I have this query:</p>
  
  <pre><code>type query {
      person(personID: ID!): Person
      brazilianPerson(rg: ID!): BrazilizanPerson
      foreignerPerson(passport: ID!): ForeignerPerson
  }
  </code></pre>
  
  <p>Instead of having a different type just because of the name (rg, passport) of the fields, or put one more argument like type in query, I could not just have the <code>Person</code> with an documentNr field and do an Input type like that?</p>
  
  <pre><code>input PersonInput {
     documentNr : ID!
     type: PersonType # this type is Foreign or Brazilian and with this I k 
  }
  </code></pre>
  
  <p><code>PersonType</code> is a enum and with him I know if the document is a rg or a passport. </p>