I am very confused. I prefer the latter, but I did saw the former in many cases.
Which one is more appropriate?
Chinese restaurant is correct.
There is nothing like a china restaurant. If you have come across that, it is incorrect.
However, if China Restaurant is the actual name of an establishment, then it stays unchanged because it is a proper noun.
We had dinner at a Chinese restaurant.
We had dinner at China Restaurant.
When describing a restaurant, you use an adjective. Thus, the adjective Chinese describes the nature of the restaurant. Similarly Indian Restaurant, Thai Restaurant etc.
China in this usage is a noun and so is not appropriate in this type of phrase.
(Although another meaning of China is an adjective describing something made of ceramic)
There is an alternative description for restaurants that uses a noun phrase rather than an adjective. This is when a specific food is served, rather than a style of food. Examples are Burger Restaurant or Pizza Restaurant.
If this is a restaurant that serves Chinese food, then indeed call it a Chinese restaurant as chinese is the adjective and restaurant is the noun.
As some have noted, there are sometimes exceptions for certain food like "California wine" or whatever, but when you are talking about cuisine, the adjective form is almost always used.