def read(self, params=None, args=None, data=None):<EOL>
if params is None:<EOL><INDENT>params = []<EOL><DEDENT>if args is None:<EOL><INDENT>args = {}<EOL><DEDENT>ctx = self._create_context(params, args, data)<EOL>row_id = ctx.get_row_id()<EOL>if row_id:<EOL><INDENT>return self._get_one(row_id, ctx)<EOL><DEDENT>elif '<STR_LIT:count>' in args:<EOL><INDENT>return self._get_collection_count(ctx)<EOL><DEDENT>elif '<STR_LIT>' in args:<EOL><INDENT>return self._get_collection_desc(ctx)<EOL><DEDENT>else:<EOL><INDENT>if '<STR_LIT>' in ctx.args:<EOL><INDENT>page_to_offset(ctx.args)<EOL><DEDENT>return self._get_collection(ctx)<EOL><DEDENT>
GET /resource/model_cls/[params:id]?[args:{limit,offset,page,per_page,filter_by,order_by,related,fields}]

Get resource/s

:param params
:type params list
:param args
:type args dict
:param data
:type data: dict